GeekArticles
Programming
Delphi
Programming
DelphiEnhanced jpeg implementation
Gabriel CorneanuThis unit contains a new jpeg implementation (based on Delphi original)-fixed bug accessing one pixel height picture-added lossless transformation support for jpeg images (based on Thomas G. Lane C library - visit jpegclub.org/jpegtran )-added CMYK support (read only)-compiled for D5-2010 AND BCB5-6-CMYK to RGB fast MMX conversion (not for Delphi5, lack of MMX ASM) (fallback to simple pascal implementation if not available)-fixed bug in Delphi 5 ASM (CMYK to RGB function)You only need the jpeg.dcu file; it can be copied to program directory or to the LIB directory.I generated obj and hpp files for use with CBuilder 5 and 6 also.This is what you need to use it:- this is just an enum TJpegTransform = ( jt_FLIP_H,{ horizontal flip } jt_FLIP_V,{ vertical flip } jt_TRANSPOSE,{ transpose across UL-to-LR axis } jt_TRANSVERSE,{ transpose across UR-to-LL axis } jt_ROT_90,{ 90-degree clockwise rotation } jt_ROT_180,{ 180-degree rotation } jt_ROT_270{ 270-degree clockwise (or 90 ccw) } );- procedure Crop(xoffs, yoffs, newwidth, newheight: integer);this method is cropping the image- procedure Transform(Operation: TJpegTransform);this method is applying the specified transformation; read the transupp.h comments about limitations(my code is using crop option)- property IsCMYK: boolean read FIsCMYK;this will indicate if the last jpeg image loaded is CMYK encoded- property InverseCMYK: boolean read FInverseCMYK write SetInverseCMYK;if set (default, because I could only find this kind of images), the CMYK image is decoded with inversed CMYK values (I read that Photoshop is doing this).
Sponsored Links
Read Next: Unicode Statistics Tool
Related Topics
Subscribe via RSS
Delphi
- A load of ASP.NET related tutorials, articles, tips and tricks!
- How to move PageControl's tabs using drag'n'drop
- Charts in database applications
- Creating Components Dynamically (at Run-Time)
- The role of the "AOwner" parameter in the Create constructor
- Creating a roll up form (with animation)
- Poll: Do you already have some experience with Delphi?
- Creating a database from Delphi code
- TMemoBar - T(Custom)Memo extender
- How to click-and-select a line in TMemo
