asposeimagingjava 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +21 -0
  4. data/README.md +33 -0
  5. data/Rakefile +2 -0
  6. data/asposeimagingjava.gemspec +27 -0
  7. data/config/aspose.yml +5 -0
  8. data/data/aspose.bmp +0 -0
  9. data/data/bizcard.psd +0 -0
  10. data/data/demo.djvu +0 -0
  11. data/data/demo.tif +0 -0
  12. data/data/multipage.tiff +0 -0
  13. data/data/sample.djvu +0 -0
  14. data/data/sample.emf +0 -0
  15. data/data/sample.gif +0 -0
  16. data/data/sample.jpg +0 -0
  17. data/data/sample.png +0 -0
  18. data/data/sample.tiff +0 -0
  19. data/data/samples/sample.jpg +0 -0
  20. data/data/samples/test.jpg +0 -0
  21. data/data/test.jpg +0 -0
  22. data/data/test.tiff +0 -0
  23. data/lib/asposeimagingjava.rb +71 -0
  24. data/lib/asposeimagingjava/asposeimaging.rb +5 -0
  25. data/lib/asposeimagingjava/djvu.rb +5 -0
  26. data/lib/asposeimagingjava/djvu/convertingdjvutopdf.rb +29 -0
  27. data/lib/asposeimagingjava/djvu/convertingdjvutotiff.rb +23 -0
  28. data/lib/asposeimagingjava/djvu/convertingrangeofdjvupages.rb +26 -0
  29. data/lib/asposeimagingjava/djvu/convertingrangeofdjvupagestoseparateimages.rb +30 -0
  30. data/lib/asposeimagingjava/djvu/convertingspecificportionofdjvupage.rb +32 -0
  31. data/lib/asposeimagingjava/drawing.rb +6 -0
  32. data/lib/asposeimagingjava/drawing/drawingarc.rb +37 -0
  33. data/lib/asposeimagingjava/drawing/drawingellipse.rb +43 -0
  34. data/lib/asposeimagingjava/drawing/drawingimagesusingcorefunctionality.rb +33 -0
  35. data/lib/asposeimagingjava/drawing/drawingimagesusinggraphics.rb +34 -0
  36. data/lib/asposeimagingjava/drawing/drawinglines.rb +53 -0
  37. data/lib/asposeimagingjava/drawing/drawingrectangle.rb +44 -0
  38. data/lib/asposeimagingjava/images.rb +20 -0
  39. data/lib/asposeimagingjava/images/addimagesasseparateframesintiff.rb +57 -0
  40. data/lib/asposeimagingjava/images/addthumbnailtoexifsegment.rb +25 -0
  41. data/lib/asposeimagingjava/images/addthumbnailtojfifsegment.rb +25 -0
  42. data/lib/asposeimagingjava/images/addwatermarktoimage.rb +30 -0
  43. data/lib/asposeimagingjava/images/adjustingcolors.rb +80 -0
  44. data/lib/asposeimagingjava/images/autocorrectorientationofjpegimage.rb +19 -0
  45. data/lib/asposeimagingjava/images/compresspngimage.rb +22 -0
  46. data/lib/asposeimagingjava/images/concatenatemultipletiffimages.rb +24 -0
  47. data/lib/asposeimagingjava/images/convertingrasterimages.rb +80 -0
  48. data/lib/asposeimagingjava/images/createjpegthumbnail.rb +21 -0
  49. data/lib/asposeimagingjava/images/cropimages.rb +63 -0
  50. data/lib/asposeimagingjava/images/datarecoverytiffimages.rb +21 -0
  51. data/lib/asposeimagingjava/images/ditheringimage.rb +19 -0
  52. data/lib/asposeimagingjava/images/exportimagetodifferentformats.rb +24 -0
  53. data/lib/asposeimagingjava/images/extracttiffframestootherformat.rb +19 -0
  54. data/lib/asposeimagingjava/images/readandmodifyjpegexiftags.rb +91 -0
  55. data/lib/asposeimagingjava/images/resizeimage.rb +63 -0
  56. data/lib/asposeimagingjava/images/rotateandflipimage.rb +18 -0
  57. data/lib/asposeimagingjava/images/specifybitdepthforpngimage.rb +25 -0
  58. data/lib/asposeimagingjava/images/specifytransparencyforpngimage.rb +32 -0
  59. data/lib/asposeimagingjava/metafiles.rb +2 -0
  60. data/lib/asposeimagingjava/metafiles/convertmetafiletootherformats.rb +28 -0
  61. data/lib/asposeimagingjava/metafiles/cropmetafile.rb +22 -0
  62. data/lib/asposeimagingjava/photoshop/createpsd.rb +42 -0
  63. data/lib/asposeimagingjava/photoshop/exportimagetopsd.rb +26 -0
  64. data/lib/asposeimagingjava/psd.rb +2 -0
  65. data/lib/asposeimagingjava/version.rb +3 -0
  66. data/samples/djvu.rb +13 -0
  67. data/samples/drawing.rb +14 -0
  68. data/samples/images.rb +29 -0
  69. data/samples/metafiles.rb +10 -0
  70. data/samples/psd.rb +10 -0
  71. metadata +170 -0
@@ -0,0 +1,24 @@
1
+ module Asposeimagingjava
2
+ module ConcatenateMultipleTiffImages
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create an instance of TiffImage and load the copied source image
7
+ source = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.tiff")
8
+
9
+ # Create an instance of TiffImage and load the source image
10
+ destination = Rjb::import('com.aspose.imaging.Image').load(data_dir + "demo.tif")
11
+
12
+ # Create an instance of TIffFrame and copy active frame of source image
13
+ frame = Rjb::import('com.aspose.imaging.fileformats.tiff.TiffFrame').copyFrame(source.getActiveFrame())
14
+
15
+ # Add copied frame to destination image
16
+ destination.addFrame(frame)
17
+
18
+ # save the changes
19
+ destination.save()
20
+
21
+ puts "Concatenated Multiple Tiff Images Successfully!"
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,80 @@
1
+ module Asposeimagingjava
2
+ module ConvertingRasterImages
3
+ def initialize()
4
+ # Binarization with Fixed Threshold
5
+ binarization_with_fixed_threshold()
6
+
7
+ # Binarization with Otsu Threshold
8
+ binarization_with_otsu_threshold()
9
+
10
+ # Transform image to its grayscale representation
11
+ transform_image_to_grayscale()
12
+ end
13
+
14
+ def binarization_with_fixed_threshold()
15
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
16
+
17
+ # Load an existing image
18
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
19
+
20
+ # Check if image is cached
21
+ if !image.isCached()
22
+ # Cache image if not already cached
23
+ image.cacheData()
24
+ end
25
+
26
+ # Binarize image with predefined fixed threshold
27
+ image.binarizeFixed(100)
28
+
29
+ # Save the image to disk
30
+ image.save(data_dir + "binarization_with_fixed_threshold.jpg")
31
+
32
+ # Display Status.
33
+ puts "Binarization image with Fixed Threshold successfully!"
34
+ end
35
+
36
+ def binarization_with_otsu_threshold()
37
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
38
+
39
+ # Load an existing image
40
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
41
+
42
+ # Check if image is cached
43
+ if !image.isCached()
44
+ # Cache image if not already cached
45
+ image.cacheData()
46
+ end
47
+
48
+ # Binarize image with Otsu Thresholding
49
+ image.binarizeOtsu()
50
+
51
+ # Save the image to disk
52
+ image.save(data_dir + "binarization_with_otsu_threshold.jpg")
53
+
54
+ # Display Status.
55
+ puts "Binarization image with Otsu Threshold successfully!"
56
+ end
57
+
58
+ def transform_image_to_grayscale()
59
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
60
+
61
+ # Load an existing image
62
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
63
+
64
+ # Check if image is cached
65
+ if !image.isCached()
66
+ # Cache image if not already cached
67
+ image.cacheData()
68
+ end
69
+
70
+ # Transform image to its grayscale representation
71
+ image.grayscale()
72
+
73
+ # Save the image to disk
74
+ image.save(data_dir + "transform_image_to_grayscale.jpg")
75
+
76
+ # Display Status.
77
+ puts "Transform image to its grayscale representation successfully!"
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,21 @@
1
+ module Asposeimagingjava
2
+ module CreateJpegThumbnail
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Load an existing image (of type bmp) in an instance of Image class
7
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
8
+
9
+ if image.getExifData() != nil
10
+ # Get the image thumbnail information and save it in an instance of JpegImage
11
+ thumbnail = image.getExifData().get_Thumbnail()
12
+
13
+ # Save the thumbnail to disk with a new name
14
+ thumbnail.save(data_dir + "JpegThumbnail.jpeg")
15
+
16
+ # Display Status.
17
+ puts "Created thumbnail of JPEG image successfully!"
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,63 @@
1
+ module Asposeimagingjava
2
+ module CropImages
3
+ def initialize()
4
+ # Cropping by Shifts
5
+ crop_by_shifts()
6
+
7
+ # Cropping by Rectangle
8
+ crop_by_rectangle()
9
+ end
10
+
11
+ def crop_by_shifts()
12
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
13
+
14
+ # Load an existing image (of type bmp) in an instance of Image class
15
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
16
+
17
+ # Before cropping, the image should be cached for better performance
18
+ if !image.isCached()
19
+ image.cacheData()
20
+ end
21
+
22
+ # Define shift values for all four sides
23
+ left_shift = 10
24
+ right_shift = 10
25
+ top_shift = 10
26
+ bottom_shift = 10
27
+
28
+ # Based on the shift values, apply the cropping on image
29
+ # Crop method will shift the image bounds toward the center of image
30
+ image.crop(left_shift, right_shift, top_shift, bottom_shift)
31
+
32
+ # Save the image to disk
33
+ image.save(data_dir + "CropByShifts.jpg")
34
+
35
+ # Display Status.
36
+ puts "Cropped image by shifts successfully!"
37
+ end
38
+
39
+ def crop_by_rectangle()
40
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
41
+
42
+ # Load an existing image (of type bmp) in an instance of Image class
43
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
44
+
45
+ # Before cropping, the image should be cached for better performance
46
+ if !image.isCached()
47
+ image.cacheData()
48
+ end
49
+
50
+ # Create an instance of Rectangle class with desired size
51
+ rectangle = Rjb::import('com.aspose.imaging.Rectangle').new(10, 10, 100, 100)
52
+
53
+ # Perform the crop operation on object of Rectangle class
54
+ image.crop(rectangle)
55
+
56
+ # Save the image to disk
57
+ image.save(data_dir + "crop_by_rectangle.jpg")
58
+
59
+ # Display Status.
60
+ puts "Cropped image by rectangle successfully!"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,21 @@
1
+ module Asposeimagingjava
2
+ module DataRecoveryForTiffImages
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Create an instance of LoadOptions
7
+ load_options = Rjb::import('com.aspose.imaging.LoadOptions').new
8
+
9
+ # Specify the DataRecoveryMode for the object of LoadOptions
10
+ load_options.setDataRecoveryMode(Rjb::import('com.aspose.imaging.DataRecoveryMode').ConsistentRecover)
11
+
12
+ # Specify the DataBackgroundColor for the object of LoadOptions
13
+ load_options.setDataBackgroundColor(Rjb::import('java.awt.Color').getRed())
14
+
15
+ # Load an existing image
16
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "multipage.tiff", load_options)
17
+
18
+ # do some work
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ module Asposeimagingjava
2
+ module DitheringImage
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Load an existing image
7
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
8
+
9
+ # Perform Floyd Steinberg dithering on the current image
10
+ image.dither(Rjb::import('com.aspose.imaging.DitheringMethod').ThresholdDithering, 4)
11
+
12
+ # Save the image to disk
13
+ image.save(data_dir + "DitheringImage.jpg")
14
+
15
+ # Display Status.
16
+ puts "Dithering image successfully!"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ module Asposeimagingjava
2
+ module ExportImageToDifferentFormats
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Load an existing image (of type Gif) in an instance of Image class
7
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "sample.gif")
8
+
9
+ # Export to BMP file format using the default options
10
+ image.save(data_dir + "output.bmp" , Rjb::import('com.aspose.imaging.imageoptions.BmpOptions').new)
11
+
12
+ # Export to JPEG file format using the default options
13
+ image.save(data_dir + "output.jpg", Rjb::import('com.aspose.imaging.imageoptions.JpegOptions').new)
14
+
15
+ # Export to PNG file format using the default options
16
+ image.save(data_dir + "output.png", Rjb::import('com.aspose.imaging.imageoptions.PngOptions').new)
17
+
18
+ # Export to TIFF file format using the default options
19
+ image.save(data_dir + "output.tiff", Rjb::import('com.aspose.imaging.imageoptions.TiffOptions').new(Rjb::import('com.aspose.imaging.fileformats.tiff.enums.TiffExpectedFormat').Default))
20
+
21
+ puts "Saved images."
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,19 @@
1
+ module Asposeimagingjava
2
+ module ExtractTiffFramesToOtherFormat
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Load an existing image
7
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "multipage.tiff")
8
+
9
+ frames = image.getFrames()
10
+ i = 1
11
+ frames.each do |frame|
12
+ frame.save(data_dir + "frame#{i}.jpg", Rjb::import('com.aspose.imaging.imageoptions.JpegOptions').new)
13
+ i +=1
14
+ end
15
+
16
+ puts "Saved images successfully!"
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,91 @@
1
+ module Asposeimagingjava
2
+ module ReadAndModifyJpegEXIFTags
3
+ def initialize()
4
+ # Reading EXIF Data Using ExifData Class
5
+ read_jpeg_exif_tags_using_exifdata_class()
6
+
7
+ # Writing & Modifying EXIF Data Using ExifData Class
8
+ modify_jpeg_exif_tags_using_exifdata_class()
9
+
10
+ # Reading EXIF Data Using JpegExifData Class
11
+ read_jpeg_exif_tags_using_jpegexifdata_class()
12
+ end
13
+
14
+ def read_jpeg_exif_tags_using_exifdata_class()
15
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
16
+
17
+ # Load an existing image
18
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
19
+
20
+ # Initialize an object of ExifData and fill it will image's EXIF information
21
+ exif = image.getExifData()
22
+
23
+ # Check if image has any EXIF entries defined
24
+ if exif != nil
25
+ # Display a few EXIF entries
26
+ puts "Exif WhiteBalance: " + exif.get_WhiteBalance().to_s
27
+ puts "Exif PixelXDimension: " + exif.get_PixelXDimension().to_s
28
+ puts "Exif PixelYDimension: " + exif.get_PixelYDimension().to_s
29
+ puts "Exif ISOSpeed: " + exif.get_ISOSpeed().to_s
30
+ puts "Exif BodySerialNumber: " + exif.get_BodySerialNumber().to_s
31
+ puts "Exif CameraOwnerName: " + exif.get_CameraOwnerName().to_s
32
+ puts "Exif ColorSpace: " + exif.get_ColorSpace().to_s
33
+ puts "Exif Contrast: " + exif.get_Contrast().to_s
34
+ puts "Exif CustomRendered: " + exif.get_CustomRendered().to_s
35
+ puts "Exif DateTimeDigitized: " + exif.get_DateTimeDigitized().to_s
36
+ puts "Exif DateTimeOriginal: " + exif.get_DateTimeOriginal().to_s
37
+ puts "Exif ExposureMode: " + exif.get_ExposureMode().to_s
38
+ puts "Exif ExposureProgram: " + exif.get_ExposureProgram().to_s
39
+ puts "Exif Flash: " + exif.get_Flash().to_s
40
+ puts "Exif FocalLengthIn35MmFilm: " + exif.get_FocalLengthIn35MmFilm().to_s
41
+ puts "Exif FocalPlaneResolutionUnit: " + exif.get_FocalPlaneResolutionUnit().to_s
42
+ puts "Exif GainControl: " + exif.get_GainControl().to_s
43
+ puts "Exif ImageUniqueID: " + exif.get_ImageUniqueID().to_s
44
+ puts "Exif Sharpness: " + exif.get_Sharpness().to_s
45
+ puts "Exif MeteringMode: " + exif.get_MeteringMode().to_s
46
+ end
47
+ end
48
+
49
+ def modify_jpeg_exif_tags_using_exifdata_class()
50
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
51
+
52
+ # Load an existing image
53
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
54
+
55
+ # Initialize an object of ExifData and fill it will image's EXIF information
56
+ exif = image.getExifData()
57
+
58
+ # Set Lens Make information
59
+ exif.set_LensMake("Sony")
60
+
61
+ # Set WhiteBalance information
62
+ exif.set_WhiteBalance(Rjb::import('com.aspose.imaging.exif.enums.ExifWhiteBalance').Auto)
63
+
64
+ # Set that Flash was fires
65
+ exif.set_Flash(Rjb::import('com.aspose.imaging.exif.enums.ExifFlash').Fired)
66
+
67
+ # Save the changes to the original image
68
+ image.save(data_dir + "ModifyExifTags.jpg")
69
+
70
+ # Display result
71
+ puts "Modified JPEG exif tags using ExifData class."
72
+ end
73
+
74
+ def read_jpeg_exif_tags_using_jpegexifdata_class()
75
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
76
+
77
+ # Load an existing image
78
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
79
+
80
+ # Initialize an object of ExifData and fill it will image's EXIF information
81
+ exif = image.getExifData()
82
+
83
+ # Display a few EXIF entries
84
+ puts "EXIF CameraOwnerName: " + exif.get_CameraOwnerName().to_s
85
+ puts "EXIF ApertureValue: " + exif.get_ApertureValue().to_s
86
+ puts "EXIF Orientation: " + exif.get_Orientation().to_s
87
+ puts "EXIF FocalLength: " + exif.get_FocalLength().to_s
88
+ puts "EXIF Compression: " + exif.get_Compression().to_s
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,63 @@
1
+ module Asposeimagingjava
2
+ module ResizeImage
3
+ def initialize()
4
+ # Simple Resizing
5
+ simple_image_resizing()
6
+
7
+ # Resizing with ResizeType Enumeration
8
+ resizing_with_resizetype_enumeration()
9
+ end
10
+
11
+ def simple_image_resizing()
12
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
13
+
14
+ # Load an existing image
15
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
16
+
17
+ # Cache data if not cached previously
18
+ if !image.isCached()
19
+ image.cacheData()
20
+ end
21
+
22
+ # Specify only width
23
+ new_width = image.getWidth() / 2
24
+ image.resizeWidthProportionally(new_width)
25
+
26
+ # Specify only height
27
+ new_height = image.getHeight() / 2
28
+ image.resizeHeightProportionally(new_height)
29
+
30
+ # Save the image to disk
31
+ image.save(data_dir + "simple_image_resizing.jpg")
32
+
33
+ # Display Status.
34
+ puts "Resized image successfully!"
35
+ end
36
+
37
+ def resizing_with_resizetype_enumeration()
38
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
39
+
40
+ # Load an existing image
41
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
42
+
43
+ # Cache data if not cached previously
44
+ if !image.isCached()
45
+ image.cacheData()
46
+ end
47
+
48
+ # Specify only width
49
+ new_width = image.getWidth() / 2
50
+ image.resizeWidthProportionally(new_width, Rjb::import('com.aspose.imaging.ResizeType').LanczosResample)
51
+
52
+ # Specify only height
53
+ new_height = image.getHeight() / 2
54
+ image.resizeHeightProportionally(new_height, Rjb::import('com.aspose.imaging.ResizeType').NearestNeighbourResample)
55
+
56
+ # Save the image to disk
57
+ image.save(data_dir + "resizing_with_resizetype_enumeration.jpg")
58
+
59
+ # Display Status.
60
+ puts "Resized image successfully!"
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,18 @@
1
+ module Asposeimagingjava
2
+ module RotateAndFlipImage
3
+ def initialize()
4
+ data_dir = File.dirname(File.dirname(File.dirname(File.dirname(__FILE__)))) + '/data/'
5
+
6
+ # Load an existing image (of type bmp) in an instance of Image class
7
+ image = Rjb::import('com.aspose.imaging.Image').load(data_dir + "test.jpg")
8
+
9
+ image.rotateFlip(Rjb::import('com.aspose.imaging.RotateFlipType').Rotate270FlipNone)
10
+
11
+ # Save the image to disk
12
+ image.save(data_dir + "RotateFlip.jpg")
13
+
14
+ # Display Status.
15
+ puts "RotateFlip image successfully!"
16
+ end
17
+ end
18
+ end