Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Graphics::TBitmap \ ScanLine

386
22 апреля 2006 года
newcss
297 / / 05.04.2005
Вообщем проблема такого плана...
Беру картинку


Далее пропускаю ее через вот такой код

Код:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
// This example shows drawing directly to the Bitmap
  Byte *ptr;
  try
  {
    pBitmap->LoadFromFile("1.bmp");
    char tex[1000],prom[3];
    tex[0]=0;
   for (int y = 0; y < pBitmap->Height; y++)
    {
      ptr = (Byte *)pBitmap->ScanLine[y];

      for (int x = 0; x < pBitmap->Width; x++) {
          itoa(ptr[x],prom,10);
          strcat(tex,prom);
          //ptr[x]
              }
          strcat(tex,"\n");
            }
            Memo1->Text=tex;


 // Canvas->Draw(0,0,pBitmap);
  }
  catch (...)
  {
    ShowMessage("Could not load or alter bitmap");
  }
  delete pBitmap;

}


// данный код взял в примере из билдера и добавил пару строк и конечную матрицу вывел в мемо.
Получилось вот что



На полученной матрице если присмотреться видны буквы, но они почему-то сдвинуты =( и видны на половину =((. В чем проблема и как с ней справится? Просто на форуме этом читал что ScanLine читает изображение....
8.7K
22 апреля 2006 года
Rubicon
55 / / 28.10.2005
слишком маленький размер tex...
Думаю так:
 
Код:
char* tex  = new char[pBitmap->Height*(pBitmap->Width+1)]
386
23 апреля 2006 года
newcss
297 / / 05.04.2005
Цитата:
Originally posted by Rubicon
слишком маленький размер tex...
Думаю так:
 
Код:
char* tex  = new char[pBitmap->Height*(pBitmap->Width+1)]





Ага =) Пасиб =) точняк =). Чет я стормозил не по детски... Хех...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог