我正在开发一个应用程序,它将使用 gtk_file_chooser_dialog_new 打开图像,获取像素并将其转换为字节数组。转换后的数据将显示在阅读器的 LCD 上。我正在使用 Linux C++ (GTK)。我找到了几个关于 GDK_Pixbuf 的文档。我尝试了那些我认为可以提供所需数据但没有运气的功能。这是我找到的一个GDK-pixbuf。任何帮助,将不胜感激。
顺便说一句,我在 C++ (windows) 中有这些代码
iWidth = picRect.right - picRect.left; iHeight = picRect.bottom - picRect.top;
BitBlt(picHDC,0,0,(picRect.right - picRect.left),(picRect.bottom - picRect.top),hDC,0,0,SRCCOPY);
int iGraphicsDataCounter = 0;
COLORREF rgb = ::GetPixel (picHDC, 0, 0);
UINT uRed = GetRValue (rgb);
int iSequenceIndex = 0;
int iCounter = 0;
byte aSequence[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 };
for(int iRowIndex = 0; iRowIndex < iHeight; iRowIndex++)
{
for(int iColumnIndex = 0; iColumnIndex < iWidth; iColumnIndex++)
{
rgb = ::GetPixel (picHDC, iColumnIndex, iRowIndex);
uRed = GetRValue (rgb);
if(uRed == 255)
aGraphicsData[iCounter] |= 0x00;
else
aGraphicsData[iCounter] |= aSequence[iSequenceIndex];
if(++iSequenceIndex == 8)
{
iCounter++;
iSequenceIndex = 0;
}
}
}