|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Искажения при копировании части Image
Добрый день, Знатоки!
Помогите пожалуйста с проблемой! Пытаюсь вырезать заданный фрагмент из хорошего файла изображения и записать в файл и Image! Получаю и в Image и в файле искаженное изображение! Уже перебрал множество вариантов, а результат все тот - же ! Код:
Graphics::TBitmap* inBitmap = new Graphics::TBitmap(); inBitmap->PixelFormat = pf24bit; inBitmap->Width = 640; inBitmap->Height = 480; inBitmap->LoadFromFile("PHOTO.BMP"); Graphics::TBitmap* outBitmap = new Graphics::TBitmap(); outBitmap->PixelFormat = pf24bit; outBitmap->Width = CURRENT.Width; outBitmap->Height = CURRENT.Height; outBitmap->Palette = inBitmap->Palette; outBitmap->Canvas->CopyMode = cmSrcCopy; TRect Dest_Rect (0,0,CURRENT.Width,CURRENT.Height); TRect Source_Rect (CURRENT.Left*2, CURRENT.Top*2, (CURRENT.Left + CURRENT.Width)*2, (CURRENT.Top + CURRENT.Height)*2); outBitmap->Canvas->CopyRect(Dest_Rect,inBitmap->Canvas,Source_Rect); outBitmap->SaveToFile("TMP.BMP"); Image3->Stretch = true; Image3->Transparent = true; Image3->Width = CURRENT.Width; Image3->Height = CURRENT.Height; Image3->Picture->LoadFromFile("TMP.BMP"); delete outBitmap; delete inBitmap; Попутно второй вопрос! Имеется заведомо хороший BMP файл изображения (полученный при захвате с веб камеры). Как из него вывести на Image фрагмент с заданными координатами?!! С Уважением и надеждой!!! Onic777 Последний раз редактировалось Admin, 06.01.2015 в 17:18. |
#2
|
||||
|
||||
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Неправильно рассчитывается TRect Source_Rect, как мне кажется.
|
#4
|
||||
|
||||
Кстати эту строчку нужно перенести ниже загрузки файла
Код:
inBitmap->PixelFormat = pf24bit; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |