Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Зеркалирование изображений


Автор: evoronov 19.5.2006, 09:00
Всем привет.
помогите пжалуста решить проблему с зеркалированием изображений, например:
есть TImage туда грузится какое то изображение (jpeg, gif и т.д.), как загруженное изображение сделать зеркальным (например по вертикале), желательно с примером
зарание спасибо.
 

Автор: Romikgy 19.5.2006, 09:42
наверное можно сделать через TBitmap::ScanLine
Код

void __fastcall TForm1::Button1Click(TObject *Sender)

{
  Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
// This example shows drawing directly to the Bitmap
  Byte *ptr;
  try
  {
    pBitmap->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp ");
    for (int y = 0; y < pBitmap->Height; y++)
    {
      ptr = (Byte *)pBitmap->ScanLine[y];
      for (int x = 0; x < pBitmap->Width; x++)

        ptr[x] = (Byte)y;
    }
    Canvas->Draw(0,0,pBitmap);
  }
  catch (...)
  {
    ShowMessage("Could not load or alter bitmap");
  }
  delete pBitmap;
}

это пример из хелпа, т.е. те надо поменять местами каждую сканлинию, нулевую с последней , первую с предпоследней, .....
 

Автор: evoronov 19.5.2006, 10:55
Огромное спасибо. smile  

Автор: Romikgy 19.5.2006, 10:56
Цитата(evoronov @  19.5.2006,  09:55 Найти цитируемый пост)
Огромное

пжалста 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)