Главная страница
    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.44 MB
Время: 0.007 c
2-1215595887
fedorovandrey
2008-07-09 13:31
2008.08.10
Как организовать работу приложения?


15-1214366767
apic
2008-06-25 08:06
2008.08.10
компоненты vista


15-1214206913
Vudu
2008-06-23 11:41
2008.08.10
Можно ли монитор подключить к видеовходу


6-1191558528
R4V3N
2007-10-05 08:28
2008.08.10
Проверка активности ServerSocketa


2-1215494611
Zhentos
2008-07-08 09:23
2008.08.10
Можно ли обрезать изображение???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский