MiniDisplay/minidisplay.cpp
changeset 6 b1b049e28772
parent 5 62a1d3631dcb
child 8 9543e1703afb
     1.1 --- a/MiniDisplay/minidisplay.cpp	Tue May 27 22:14:29 2014 +0200
     1.2 +++ b/MiniDisplay/minidisplay.cpp	Wed May 28 08:06:27 2014 +0200
     1.3 @@ -73,11 +73,15 @@
     1.4  void MiniDisplay::setFont(const QFont& aFont)
     1.5  {
     1.6      iFont=aFont;
     1.7 +    iFont.setStyleStrategy(QFont::NoAntialias);
     1.8      QString strDemo="0123456789ABCDEF";
     1.9      QFontMetrics metrics(iFont);
    1.10 -    QSize size(metrics.width(strDemo),metrics.height());
    1.11 +    int w=metrics.width(strDemo);
    1.12 +    int h=metrics.height();
    1.13 +    QSize size(w,h);
    1.14      QImage image(size,QImage::Format_Mono);
    1.15      image.fill(0xFFFFFFFF);
    1.16 +    //Draw some text into our image
    1.17      {
    1.18          QPainter painter(&image);
    1.19          //painter.begin(&image);
    1.20 @@ -85,6 +89,27 @@
    1.21          painter.setFont(iFont);
    1.22          painter.drawText(0,metrics.ascent(),strDemo);
    1.23      }
    1.24 -    //painter.end();
    1.25 +    //Save image as PNG for validation
    1.26      image.save("font.png");
    1.27 +    //
    1.28 +    //int sizeInBytes=image.byteCount();
    1.29 +    int pixelCount=w*h;
    1.30 +    BitArray bits(pixelCount);
    1.31 +
    1.32 +    for (int i=0;i<w;i++)
    1.33 +        {
    1.34 +        for (int j=0;j<h;j++)
    1.35 +            {
    1.36 +            QRgb color=image.pixel(i,j);
    1.37 +            if (color!=0xffffffff)
    1.38 +                {
    1.39 +                bits.SetBit(i*h+j);
    1.40 +                }
    1.41 +            }
    1.42 +        }
    1.43 +
    1.44 +    iDisplay.Clear();
    1.45 +    iDisplay.BitBlit(bits,w,h,0,0);
    1.46 +    iDisplay.SwapBuffers();
    1.47 +    //
    1.48  }