Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Вниз

Как вырезать фрагмент изображения при изменённом масштабе?   Найти похожие ветки 

 
Zhentos   (2008-07-09 12:27) [0]

Здравствуйте.
Очевидно, что нужно использовать коэффициент изменения масштаба. Делаю так:

var
MyRect, MyOther: TRect;
             kf: real;
begin
kf := InitHW / Image1.Width; //вычисляю коэффициент
MyRect := Rect(Round(Shape1.Left * kf), Round(Shape1.Top * kf), Round((Shape1.Left + Shape1.Width) * kf), Round((Shape1.Top + Shape1.Height) * kf)); //копируемая область с учётом положения шейпа.
MyOther := Rect(0, 0, Round(Shape1.Width * kf), Round(Shape1.Height * kf)); //новая область
Image1.Canvas.CopyRect(MyOther, Image1.Picture.Bitmap.Canvas, MyRect); //вырезаю и вставляю
Shape1.Left := 0;
Shape1.Top := 0;
Image1.Proportional := false;
Image1.Stretch := false;
Image1.Picture.Bitmap.Width := Shape1.Width;
Image1.Picture.Bitmap.Height := Shape1.Height;
Image1.Width := Shape1.Width;
Image1.Height := Shape1.Height;
Image1.Proportional := true;
Image1.Stretch := true;
Image1.Picture.SaveToFile(ExtractFilePath(paramstr(0)) + "Picture.bmp");
end;


странно, что при трасировке копируемый фрагмент соответствует нужному мне фрагменту, а на выходе четвертинка необходимого мне фрагмента.


 
Zhentos   (2008-07-09 12:40) [1]

мда, поспешил я с вопросом...

в общем есть контакт.


 
brother ©   (2008-07-09 13:00) [2]

пока набирал - озарило? )))) вот так всегода)))


 
Leonid Troyanovsky ©   (2008-07-09 13:11) [3]


> brother ©   (09.07.08 13:00) [2]

> пока набирал - озарило? ))))

Штирлиц подумал. Ему понравилось.
Штирлиц подумал еще раз.

--
Regards, LVT.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.08.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
15-1214153592
Raisa
2008-06-22 20:53
2008.08.10
C# - посоветуйте форум


2-1215156404
laao
2008-07-04 11:26
2008.08.10
объясните поведение Delphi при выполнении следующего кода


1-1196348183
Black Krok
2007-11-29 17:56
2008.08.10
Когда система "пукает"?


2-1215539957
GrieVeR-13
2008-07-08 21:59
2008.08.10
Проблема с функциями EnumWindows и GetWindowText


15-1214150174
KilkennyCat
2008-06-22 19:56
2008.08.10
XML-парсеры для Delphi.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский