C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Искажения фрагмента изображения при копировании или записи!  (Прочитано 1671 раз)
Onic777
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 8


Искажения фрагмента изображения при копировании или записи!
« : 06 Январь 2015, 15:58:07 »

Добрый день, Знатоки!

Помогите пожалуйста с проблемой! Пытаюсь вырезать заданный фрагмент из хорошего файла изображения и записать в файл и 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 фрагмент с заданными координатами?!! Можно и средствами WinAPI!

С Уважением и надеждой!!!
Onic777
Записан
serg76
Участник


Сказали спасибо: +38/-2
Offline

Сообщений: 575


Re: Искажения фрагмента изображения при копировании или записи!
« Ответ #1 : 08 Январь 2015, 09:27:01 »

Цитировать
фрагмент из хорошего файла изображения
Цитировать
    inBitmap->Width = 640;
    inBitmap->Height = 480;
при таком разрешении хорошее качество ?

что значит искаженное изображение?

пример
Записан
Onic777
Участник


Сказали спасибо: +0/-0
Offline

Сообщений: 8


Re: Искажения фрагмента изображения при копировании или записи!
« Ответ #2 : 08 Январь 2015, 16:33:44 »

Привет!

Разрешение, достаточное для фотографии со средненькой WebCam на удостоверение!

Что значит "искажения"? В моем случае при вырезке фрагмента 120х160 до 30% пикселей имеют искаженные цвета...

Onic777
Записан
serg76
Участник


Сказали спасибо: +38/-2
Offline

Сообщений: 575


« Ответ #3 : 09 Январь 2015, 09:24:30 »

Цитировать
    Image3->Stretch = true;
    Image3->Transparent = true;
искажают цвета
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.051 секунд. Запросов: 21.