0

我正在开发一个应用程序,它将使用 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;
            }
        }
    }
4

0 回答 0