VoyForums

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time | Archives: 12[3]45678910 ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 11:55:54 09/19/03 Fri
Author: Mike Haiss
Subject: Re: Crop Question
In reply to: Mike Haiss 's message, "Re: Crop Question" on 11:18:09 09/19/03 Fri

I feel silly
I had the image zooming to always fit the size of the scrollbox so the following fixed my problem;

TCropTransform *transForm = new TCropTransform;
transForm->CropMode = cmExtractRect;
transForm->Top = Rect.Top / (ImageScrollBox1->ZoomPercent/100);
transForm->Bottom = Rect.Bottom / (ImageScrollBox1->ZoomPercent/100);
transForm->Left = Rect.Left / (ImageScrollBox1->ZoomPercent/100);
transForm->Right = Rect.Right / (ImageScrollBox1->ZoomPercent/100);
transForm->Apply(ImageScrollBox1->Graphic);
ImageScrollBox1->Redraw(true);
delete transForm;


>I have checked the values of Rect and they are
>correct...
>
>>
>>Hi Mike,
>>
>>Just from the code it looks fine. The only thing I can
>>see is that sometimes the Rect parameter contains
>>invalid values.
>>
>>Best regards,
>>
>>Michel
>>
>>>Ok, I was wondering if you could explain this.
>>>The following code works on some images and doesn't
>on
>>>others. The ones it does not work on it will crop
>>>right on the second try, but the first crop you
>>>attempt is always wrong. Any ideas?
>>>
>>>Code is as follows....
>>>
>>>void __fastcall TForm1::ImageScrollBox1QuickSelect(
>>> const TImageScrollBox *Sender, const
>DibGraphic
>>> *Graphic, const TRect &Rect){
>>>
>>> TCropTransform *transForm = new TCropTransform;
>>> transForm->CropMode = cmExtractRect;
>>> transForm->Top = Rect.Top;
>>> transForm->Bottom = Rect.Bottom;
>>> transForm->Left = Rect.Left;
>>> transForm->Right = Rect.Right;
>>> transForm->Apply(ImageScrollBox1->Graphic);
>>> ImageScrollBox1->Redraw(true);
>>> delete transForm;
>>>}
>>>
>>>Thanks for your time.
>>>
>>>>
>>>>Hi Mike,
>>>>
>>>>You should use the mmSelect mouse mode instead of
>>>>mmQuickSelect.
>>>>
>>>>Then when a selection is active you can use,
>>>>
>>>>(ImageScrollBox.MouseHandler as
>>>>TRubberbandMouseHander).GetSelection(Rect);
>>>>
>>>>This will give you the coordinates of the selected
>>>>rectangle.
>>>>
>>>>Best regards,
>>>>
>>>>Michel
>>>>
>>>>
>>>>>I want to crop a tiff image loaded in an
>>>>>ImageScrollBox using the mmQuickSelect mouse mode



>to
>>>>>select the area.
>>>>>Is there an easy way to calculate the number of
>>>pixels
>>>>>the Select box/rubberband is from the edge of the
>>>>>image?
>>>>>
>>>>>Using C++ Builder 5
>>>>>Thanks!

[ Next Thread | Previous Thread | Next Message | Previous Message ]

[ Contact Forum Admin ]


Forum timezone: GMT-5
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.