Считываю данные с большой скоростью, получаю цвет пиксела, поэтому решил работать с помощью canvas.
Написал доп функцию:
for (int y=0; y<Form1->Image1->Picture->Height; y++)
{
RGBTRIPLE* Col = (RGBTRIPLE *) Form1->Image1->Picture->Bitmap->ScanLine[y];
for (int x=0; x<Form1->Image1->Picture->Width; x++)
{
Col[x].rgbtGreen=Pxls[x][y];
Col[x].rgbtRed=Pxls[x][y];
Col[x].rgbtBlue=Pxls[x][y];
}
}
Form1->Image1->Refresh();
Вставляю эту функцию в обработчик получения данных:
for (unsigned int i = 0; i < strlen(inBuf); i++)
{
xpic++;
if (xpic >= Form1->Image1->Picture->Width)
{
xpic = 0;
ypic++;
}
if (ypic >= Form1->Image1->Picture->Height)
{
ypic = 0;
WriteImage();
}
int a = inBuf[i];
Pxls[xpic][ypic]=a; //çàáèâàåì ïîëó÷åííûé öâåò â ìàññèâ äàííûõ
/*
Form1->Image1->Canvas->Pixels[xpic][ypic]=TColor(RGB(a,a,a)); //ñðàçó ðèñóåì(ïðîïóñêàåò ïèêñåëè)
*/
}
ZeroMemory(inBuf, 512);
Ничего не рисует.
В чем может быть дело?