Update EMF via Ruby Cloud API
Update EMF using native Ruby Cloud APIs without needing any image editor or 3rd-party libraries.
Get StartedHow to Update (resize, crop, flip&rotate) EMF Using Ruby Cloud API
Aspose.Imaging.Cloud for Ruby API which is a feature-rich, powerful and easy to use image manipulation and conversion Cloud API for Ruby platform. You can download its latest version directly from rubygems.org or install it from gem command line.
Command Prompt
> gem install aspose_imaging_cloud
Steps to Update EMF via Ruby Cloud API
Developers can easily load and update (resize, crop, flip&rotate) EMF files in just a few lines of code.
- Load EMF file as stream
- Create & set the instance of UpdateImageRequest
- Set format, new size, crop area, RotateFlip method
- Call the CreateUpdatedImage method
- Get changed image from response stream
System Requirements
Aspose.Imaging Cloud for Ruby is supported on all major operating systems. Just make sure that you have the following prerequisites.
- Ruby version >= 2.5.1
Update EMF - Cloud
require 'fileutils' | |
require 'aspose-imaging-cloud' | |
IMAGE_FILE_NAME= 'example_image.emf'; | |
IMAGES_FOLDER = 'ExampleImages'; | |
CLOUD_FOLDER = 'CloudImages'; | |
OUTPUT_FOLDER = 'Output'; | |
# Get ClientId and ClientSecret from https://dashboard.aspose.cloud/ | |
# or use on-premise version (https://docs.aspose.cloud/imaging/getting-started/how-to-run-docker-container/) | |
imaging_api = AsposeImagingCloud::ImagingApi.new(client_secret, client_id, 'https://api.aspose.cloud') | |
# Update an image from cloud storage | |
def update_image_from_storage | |
input_image = File.join(IMAGES_FOLDER, IMAGE_FILE_NAME) | |
upload_file_request = AsposeImagingCloud::UploadFileRequest.new(File.join(CLOUD_FOLDER, IMAGE_FILE_NAME), input_image) | |
result = self.imaging_api.upload_file(upload_file_request) | |
if result.errors.any? | |
puts('Uploading errors count: ' + result.errors.size.to_s) | |
# Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update for possible formats | |
format = 'png' # Resulting image format | |
new_width = 300 | |
new_height = 450 | |
x = 10 | |
y = 10 | |
rect_width = 200 | |
rect_height = 300 | |
rotate_flip_method = 'Rotate90FlipX' # RotateFlip method | |
folder = CLOUD_FOLDER # Input file is saved at the desired folder in the storage | |
storage = nil # We are using default Cloud Storage | |
request = AsposeImagingCloud::UpdateImageRequest.new( | |
IMAGE_FILE_NAME, new_width, new_height, x, y, rect_width, rect_height, rotate_flip_method, format, folder, storage) | |
updated_image = imaging_api.update_image(request) | |
# Save the image file to output folder | |
filename_part = File.basename(IMAGE_FILE_NAME, ".*") | |
image_name = filename_part + '.' + 'png' | |
path = File.absolute_path(File.join(OUTPUT_FOLDER, image_name)) | |
File.write(path, updated_image) | |
end | |
# Update an image. Image data is passed in a request stream | |
def create_updated_image_from_request | |
# Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update for possible formats | |
format = 'png' # Resulting image format | |
new_width = 300 | |
new_height = 450 | |
x = 10 | |
y = 10 | |
rect_width = 200 | |
rect_height = 300 | |
rotate_flip_method = 'Rotate90FlipX' # RotateFlip method | |
storage = nil # We are using default Cloud Storage | |
out_path = nil # Path to updated file (if this is empty, response contains streamed image) | |
input_stream = File.open(File.join(IMAGES_FOLDER, IMAGE_FILE_NAME), 'r') | |
request = AsposeImagingCloud::CreateUpdatedImageRequest.new( | |
input_stream, new_width, new_height, x, y, rect_width, rect_height, rotate_flip_method, format, out_path, storage) | |
updated_image = imaging_api.create_updated_image(request) | |
# Save the image file to output folder | |
filename_part = File.basename(IMAGE_FILE_NAME, ".*") | |
image_name = filename_part + '.' + 'png' | |
path = File.absolute_path(File.join(OUTPUT_FOLDER, image_name)) | |
File.write(path, updated_image) | |
end |
About Aspose.Imaging Cloud API for Ruby
Aspose.Imaging Cloud API is an image processing solution to process images (photos) within your cloud or web applications. It offers: cross-platform Image processing, including but not limited to conversions between various image formats (including uniform multi-page or multi-frame image processing), transformations (resize, crop, flip&rotate, grayscale, adjust), advanced image manipulation features (filtering, deskewing), AI features (i.e. object detection and reverse image search). It’s a Cloud API and does not depend on any software for image operations. One can easily add high-performance image conversion features with Cloud APIs within projects. Flexible integrations options including SDKs for various languages (Python, Ruby, .NET, Java, NodeJS, PHP) and the use of the REST API allow to make the integration easy.
Update EMFs via Online App
Update EMF documents by visiting our Live Demos website. The live demo has the following benefits:
EMF What is EMF File Format
Enhanced metafile format (EMF) stores graphical images device-independently. Metafiles of EMF comprises of variable-length records in chronological order that can render the stored image after parsing on any output device. These variable-length records can be definitions of enclosed objects, commands for drawing, and graphics properties critical to render the image accurately. When a device opens an EMF metafile using its own graphics environment, the proportions, dimensions, colors and other graphic properties of original image remains same regardless of the opening device platform.
Read MoreOther Supported Conversions
Using Ruby Cloud API, one can easily update different formats including: