Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Как в Image отобразить участок IPG файла по координатам   Найти похожие ветки 

 
ruslan_as   (2010-03-03 09:12) [0]

Нужна помощь: Есть файлы JPG. Нужно в компоненте Image отобразить лишь участок по координатам 4-х точек. Например: (50, 50) (100,50), (50,100), (100,100). Спасибо за помощь...


 
{RASkov} ©   (2010-03-03 09:32) [1]

uses jpeg;, TJpegImage, Canvas, CopyRect + F1
Вроде все что необходимо. А в чем вопрос-то?


 
ruslan_as   (2010-03-03 12:15) [2]

Пробую вот так:
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.


 
icWasya ©   (2010-03-03 12:48) [3]

В Image2 должно находится Bitmap нужного размера


 
QAZ   (2010-03-03 12:56) [4]

нельзя чтолибо делать с жпег пока он не раскодирован в битмап


 
{RASkov} ©   (2010-03-03 22: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;

только исключения обрабатывай...


 
ruslan_as   (2010-03-04 09:38) [6]

{RASkov} Спасибо! Очень помог. Буду должен :))


 
ruslan_as   (2010-03-06 08:43) [7]

По ходу работы появился вопрос по качеству. У меня на экране качество значительно отличается от оригинала (не в лучшую сторону :)  ). Можно ли это исправить?


 
{RASkov} ©   (2010-03-06 11:07) [8]

> [7] ruslan_as   (06.03.10 08:43)

У тебя
Rect(50, 50, 100, 100)
и
Rect(0, 0, bmp.Width, bmp.Height)
отличаются размерами?

или о каком качестве речь?


 
Putnik ©   (2010-03-06 19:22) [9]

Там режим надо правильный выставить перед копированием, только абсолютно не помню какой. Посмотрю исходники допишу.



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

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.058 c
6-1220289471
Colonel
2008-09-01 21:17
2010.08.27
Проблема с приложением клиент-сервер


2-1273713319
DROWSY
2010-05-13 05:15
2010.08.27
Обработка в приложении исключения, вызываемого в триггере.


2-1268471112
Тофер
2010-03-13 12:05
2010.08.27
Как подать звуковой сигнал с делфи?


2-1272030591
Алексей 123
2010-04-23 17:49
2010.08.27
Рисовать под углом


11-1220855217
S.K.
2008-09-08 10:26
2010.08.27
Запуск браузера с параметрами в адресной строке





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