Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2012, 16:34   #1
ofx
Новичок
Джуниор
 
Регистрация: 22.08.2012
Сообщений: 2
По умолчанию Работа со ScanLine

Здравствуйте!
Может кто сталкивался с подобной проблемой: некорректно работает Сканлайн. По пикселам изображение выводится нормально, а сканлайном происходит какой-то непонятный сдвиг.

Результат работы попиксельного вывода и сканлайном:




Процедура вывода сканлайном:
Код:
void __fastcall TForm1::Button135Click(TObject *Sender)
{
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
TColor *ptr; 
 double D,l1,l2;
try
  {
    pBitmap->Assign( Form1->Image1->Picture->Bitmap);
    double h = pBitmap->Height;
    double w =  pBitmap->Width ;
    for (int y1 = 0; y1 < 100; y1++)
    {
     for (int y = 0; y < pBitmap->Height; y++)
     { 
      ptr = (TColor *)pBitmap->ScanLine[y];
      for (int x = 0; x < pBitmap->Width; x++) 
      { 
         l1 = sqrt(((w/2)-x)*((w/2)-x)+((h/2)-y)*((h/2)-y))  ;
         l2 = sqrt(((w/2)-x)*((w/2)-x)+(((h/2)-5)-y)*(((h/2)-5)-y))  ;
         l1!=0 ? D = ((l2)  -  ( l1)) / (l1) : D = 0;
         ptr[x] = RGB(D*100*y1,0,0);
      }
     }    
    Form1->Image1->Picture->Bitmap->Assign(pBitmap) ;
    Application->ProcessMessages();
    }
  }
  catch (...)
  {
    ShowMessage("Could not load or alter bitmap");
  }
}
ofx вне форума Ответить с цитированием
Старый 22.08.2012, 20:36   #2
ofx
Новичок
Джуниор
 
Регистрация: 22.08.2012
Сообщений: 2
По умолчанию

Проблема решена.
ofx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Свойство ScanLine. Анализ пикселей. Vova777 Общие вопросы Delphi 1 06.10.2011 23:01
Создание TBitmap с ScanLine другого битмапа... SalasAndriy Мультимедиа в Delphi 7 25.10.2010 23:47
Указатели. Объясните пожалуйста на примере scanline. TwiX Общие вопросы Delphi 3 19.10.2009 12:24
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00