ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder

 

ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Lossless rotation crops image

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

View 
UserName:
Password:
Format  Bold Italicized Underline  Align Left Centered Align Right  Horizontal Rule  Insert Hyperlink   Browse for an image to attach to your post Browse for a zip to attach to your post Insert Code  Insert Quote Insert List
   
Message 

 

Emoji
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Black Eye [B)]
Frown [:(] Shocked [:0] Angry [:(!] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
benjykid Posted - Jan 02 2014 : 04:30:59
I have a JPG image with the dimensions 1765 x 2209. Then I'm using the lossless rotation on it. This rotates the image, but it also crops it to 1760 x 2208 (after rotating two times).

JpegLosslessTransformStream(Src, Dest, jtRotate90, False, jcCopyAll, Rect(0,0,0,0), True);

How can I prevent this from happening?

3   L A T E S T    R E P L I E S    (Newest First)
xequte Posted - Jan 03 2014 : 02:23:10
Hi

We do not provide the option of maintaining the partial blocks. In practice there are very few pixels that are lost, so there is little value in keeping them in their unrotated state or padded.



Nigel
Xequte Software
www.xequte.com
nigel@xequte.com
benjykid Posted - Jan 03 2014 : 00:12:07
Hm.... I've now researched this and you seem to be right. But there is the possibility to preserve these partial blocks, but then they will be have to be shown in full. Is this something you might be able to add as an option?

Then I'd only have to save the dimensions of the padding at the top or left. But that does not appear to be in the JPG standard :-(
xequte Posted - Jan 02 2014 : 19:58:40
Hi

You can't. JPEG lossless rotation works by rotating each of the "blocks" within an image. Along two edges of an image there will almost always be rows of irregular sized blocks that cannot be rotated, so they are cropped off.

This is the standard way all applications perform lossless rotation.

Nigel
Xequte Software
www.xequte.com
nigel@xequte.com