![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в Image отобразить участок IPG файла по координатам [D7, XP]
ruslan_as © (2010-03-03 09:12:00)Нужна помощь: Есть файлы JPG. Нужно в компоненте Image отобразить лишь участок по координатам 4-х точек. Например: (50, 50) (100,50), (50,100), (100,100). Спасибо за помощь...
Putnik (2010-03-06 19:22:00) [1]Там режим надо правильный выставить перед копированием, только абсолютно не помню какой. Посмотрю исходники допишу.
{RASkov} (2010-03-06 11:07:00) [2]> [7] ruslan_as (06.03.10 08:43)
У тебя
Rect(50, 50, 100, 100)
и
Rect(0, 0, bmp.Width, bmp.Height)
отличаются размерами?
или о каком качестве речь?
ruslan_as (2010-03-06 08:43:00) [3]По ходу работы появился вопрос по качеству. У меня на экране качество значительно отличается от оригинала (не в лучшую сторону :) ). Можно ли это исправить?
ruslan_as (2010-03-04 09:38:00) [4]{RASkov} Спасибо! Очень помог. Буду должен :))
{RASkov} (2010-03-03 22:00:00) [5]> [2] ruslan_as (03.03.10 12:15)
на пример:
var jpg: TJPEGImage; bmp: TBitmap;
begin
jpg:=TJPEGImage.Create;
jpg.LoadFromFile(ExtractFileDir(Application.ExeName)+'\1_1ru.jpg');
bmp:=TBitmap.Create;
bmp.Assign(jpg);
Image2.Canvas.CopyRect(Rect(50, 50, 100, 100), bmp.Canvas, Rect(0, 0, bmp.Width, bmp.Height));
jpg.Free;
bmp.Free;
end;
только исключения обрабатывай...
QAZ (2010-03-03 12:56:00) [6]нельзя чтолибо делать с жпег пока он не раскодирован в битмап
icWasya (2010-03-03 12:48:00) [7]В Image2 должно находится Bitmap нужного размера
ruslan_as (2010-03-03 12:15:00) [8]Пробую вот так:
var SRect, DRect: TRect;// Объявляю две переменные типа TRect
begin
Image1.Picture.LoadFromFile(ExtractFileDir(Application.ExeName)+'\1_1ru.jpg');
SRect:=Rect(00, 0, Image1.Width, Image1.Height);
DRect:=Rect(50, 50, 100, 100); //или DRect.Left:=10; DRect.Top:=10; DRect.Right:=110; DRect.Bottom:=110;
Image2.Canvas.CopyRect(DRect, Image1.Canvas, SRect);}
Пишет, что может только изменить изображение, если это содержит битовый массив. А у меня JPG.
{RASkov} (2010-03-03 09:32:00) [9]uses jpeg;, TJpegImage, Canvas, CopyRect + F1
Вроде все что необходимо. А в чем вопрос-то?