Coder Social home page Coder Social logo

riuson / lcd-image-converter Goto Github PK

View Code? Open in Web Editor NEW
324.0 17.0 79.0 8.14 MB

Tool to create bitmaps and fonts for embedded applications, v.2

Home Page: https://lcd-image-converter.riuson.com/

License: GNU General Public License v3.0

C 0.11% C++ 93.46% CSS 0.03% JavaScript 0.48% XSLT 0.45% QMake 2.04% HTML 3.43%
lcd graphical image-converter glcd display conversion

lcd-image-converter's Introduction

LCD Image Converter

Travis Build Status Coverity Scan

Tool to create bitmaps and fonts for embedded applications, v.2

Allows you to create bitmaps and fonts, and transform them to "C" source format for embedded applications.

Features

  • Supported display controllers
    • Monochrome, grayscale, color
    • With vertical and horizontal orientation of bytes
    • 8, 16, 24, 32-bit data
    • 1...32 bits per pixel
    • and other, not limited by some particular models
  • Output format
    • Can be changed by templates
    • Text (source code) or binary
  • Create a single image
    • With RLE compression
  • Create fonts (set of images - characters)
    • Including unicode charset
    • Required characters only, not full range
  • Command-line mode

Web pages

Contacts and support

How to build on GNU/Linux

git clone https://github.com/riuson/lcd-image-converter.git ~/lcd-image-converter
cd ~/lcd-image-converter
qmake
make

Requires some additional packages. Build logs available on Travis-CI.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/

lcd-image-converter's People

Contributors

riuson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lcd-image-converter's Issues

Font optimize height bug

Steps to reproduce the bug:

  1. Create a new font (File->New Font).
  2. Select antialiasing option (Parameters->Antialiasing )
  3. Set back color alpha channel to 0.

Now, if you try to optimize the font height (Font->Optimize height...) every character is screwed.
See attached image.
optimizeheightbug

Byte order in image options not works

From [email protected] on August 21, 2014 15:37:49

What steps will reproduce the problem? 1. option,conversion,image
2. block size 8 bit and RGB565
3. byte order big endian/little endian What is the expected output? What do you see instead? change the order of byte with little/big endian option What version of the product are you using? On what operating system? v.2 windows xp Please provide any additional information below. Attach XML files, on which the bug occurs.

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=35

Custom size of windows fonts

From [email protected] on May 07, 2013 19:17:46

Hello,
I really like your Lcd image converter, which is far better than many comercially used tools. I was using Font converter for emWin from Segger or LCD Vision from HP Infotech so i can compare a bit ;-)
I would like to ask about one feature i couldnt use. It is custom size of new font. When i open new font in Font Setup window i can choose only few font sizes from list begining from 6,7, 8,... 36, 48, 72 ending as maximum size. I tried but it is not possible to enter size of font manually (50 , 80 for example) as it is usually possible in other windows software where you can set font. It could be very usefull to add this possibility there.
Best regards

Vac.

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=13

Template problems and improvements

From [email protected] on August 04, 2012 13:49:23

This is a suggestion of template improvement that I think would be beneficial. Improvements suggested:

  1. sidenote - @filename@ is always blank, probably some issue in the code
  2. underlying type of data is always "unsigned char" which is course wrong for any data block size other than 8 bit. I suggest another "template parmameter" to be added which would be for data block bit size, this could be used like this:

const uint@dataBlockSize@_t *data;

shich would be expanded to uint8_t, uint16_t or uint32_t types from stdint.h

  1. For these types you'd need to add:

    include <stdint.h>

    somewhere before data in the file

  2. I suggest to declare data type as:
    // typedef struct {
    // const uint@dataBlockSize@_t *data;
    // uint16_t width;
    // uint16_t height;
    // } tImage;
    a. this has the improvement of data type from point 2
    b. width and height can be 16-bit, as no-one will probably use image bigger than 0xFFFF pixels wide/high
    c. the "const" before width and height are not needed, whole struct will be const, the "const" before data is needed because it says that the pointer points to constant data (the pointer itself is not const!)

  3. image_data_... should be declared static

  4. 4 spaces before @imagedata@ is present only in first line - is it possible to retain the tabulation somehow in next lines?
    Sidenotes:

  5. why use spaces not tabs?

  6. typical indentation for such case (multiline data in array) is two levels, 2 tabs

  7. this:
    &image_data_@documentName_ws@[0]
    can be replaced with this:
    image_data_@documentName_ws@
    works the same, is shorter (;

  8. tImage @documentName_ws@ should be delared const, to have it in read-only memory (on most architectures)

  9. extra space before "&image_data_@documentName_ws@[0]"?

  10. Would that be possible to have EVERY parameter of conversion available as a template replacement? I've already wrote about size of data block, but how about other things like:

  11. bits per pixel of every color, to know that 5 for red and blue, 6 for green were used

  12. bits per pixel as a combined value of above - 16bpp, 24bpp, 1bpp etc.

  13. optional shift parameter (I wrote about that in previous issue)

  14. order of colors (string + numeric value)

  15. convert to monochrome mode (string + numeric value)

  16. ...

  17. if one would like to mix different data sizes in one project (uint8_t, uint16_t, uint32_t) the pointer in tImage struct should be of type void*, but that's just a note


I guess most of these apply to font template too.

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=8

No support for RGB8 data format?

From [email protected] on February 22, 2014 01:45:08

What steps will reproduce the problem? 1. imported images can't be converted to the common 8-bit OLED data format--

For 256-color mode, one pixel data is sent in a 8-bit session like below.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
C2 C1 C0 B2 B1 B0 A1 A0

Figure 11 – 256 Color Depth Graphic Display Data Writing Sequence What is the expected output? What do you see instead? Expected output is as produced here http://www.digole.com/tools/PicturetoC_Hex_converter.php What version of the product are you using? On what operating system? https://code.google.com/p/lcd-image-converter/source/detail?r=c026d86 on Windows 7 x64 Please provide any additional information below. Attach XML files, on which the bug occurs.

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=23

Output file encoding

If in my templates I use special characters, output files get wrongly encoded characters. For example, if I include the character á then in the output source code I get á.

Font Setup->Style selectin doesn't display all the weights of the OpenType fonts.

From [email protected] on May 14, 2014 03:12:30

Here is the repro:

  1. Download Anonymous Pro font,
  2. Start the tool and select New Font,
  3. Select Anonymous Pro as source

I expect to see at least Normal but only shows Bold and Italic.

LCD Image Converter version is 6998b5e, Qt 5.1.1.

OS is Windows 7 64 bit.

Does the tool implements filter for certain OpenType weights and only displays those that corresponds to TrueType fonts?

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=27

Littel-Endian / Big Endian setting has no effect

From [email protected] on January 03, 2013 05:01:56

What steps will reproduce the problem? 1. Executing a monochrome conversation with 8x8 pixel. The first pixel is black.
2. No RLE
3. choosing little Ending What is the expected output? What do you see instead? I would expect 0x01 in the first output line. I get 0x80. Means I always get a Big ending output. It seems the Endian setting has no effect to the output. As well on other conversation settings (grayscale, color) the output is always What version of the product are you using? On what operating system? Revision b4efed4 from 2012-12-23 13:02:18 +0600

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=9

multi row per byte

I am using the UltraChip UC1618t in my application for a 256 x 128 2 bit per pixel gray scale display. Each bytes sequentially in memory represents a single pixel on four rows as follows (this is a bad 4x4 letter A in black and white).

As normal bit map (4x4): 0x0C, 0xC3, 0xFF, 0xC3
What the controller wants: 0xFC, 0x30, 0x30, 0xFC

As pixels
X
X X
XXXX
X X

In other words byte 1 bits 0 & 1 are row 0, column 0, bits 2 & 3 are row 1. column 0, bits 4 & 5 are row 2, column 0 and bits 6 & 7 are row 3, column 0. Byte 2 bits 0 & 1 are row 0, column 1, bits 2 & 3 are row 1. column 1, bits 4 & 5 are row 2, column 1 and bits 6 & 7 are row 3, column 1.

How do I configure the image converter matrix for this?

Thank you,

       Mike

Font antialiasing in 16 bit colour

From [email protected] on August 04, 2014 11:49:22

What steps will reproduce the problem? 1. Create 100pt (also works with range of other sizes) Arial bold font in colour with antialiasing (255red on black background)
2. Use R5G6B5 preset to convert What is the expected output? What do you see instead? Expecting to see antialiased font on LCD panel. Instead there is none, edges look jagged (except for the odd, very faint pixel where you'd expect the antialiasing) What version of the product are you using? On what operating system? 19th July Beta, on Windows 7. Please provide any additional information below. I'm assuming it has something to do with the fact I truncate bits R0 -> R2 , G0->G1 and B0-B2 to convert to 16 bit which means everything is truncated, instead of actually being rounded. Is it possible to OR bits R2 and R3 say, to produce the output R3 to give some ability to round up? I couldn't seem to set that in the matrix? Or provide the ability to create a 16bit font image before the antialiasing so it uses valid levels that won't get truncated to zero?

Fantastic bit of software by the way :-)

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=30

Fonts Not Being Saved in tFont/tChar Format

From [email protected] on January 07, 2014 07:21:02

What steps will reproduce the problem? 1. Start "New Font"
2. Just use standard "Font" name
3. Choose font (I chose the first selected one, which was "MS Shell Dlg 2")
4. File->Save, and save as "Font.xml"
5. File->Convert..., and save as "Font.c" What is the expected output? What do you see instead? I was hoping to get an ouput .c file with the format that uses tChar and tFont declarations, but instead I got 95 tImage declarations, all with the same name. What version of the product are you using? On what operating system? " Revision c026d86 from 2013-10-28 21:32:36 +0600
Qt 5.1.1"
Using Windows 7 64-bit Please provide any additional information below. I might be using it incorrectly, but I'm pretty sure I am correctly following the guides... Attach XML files, on which the bug occurs.

Attachment: Font.c Font.xml

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=20

Generated files include extra empty lines

Generated source code files have empty lines before the header and in between the header and the block_images_table section.

Can they be removed to better fit the templates?

Animation by storing multiple images as a 'font'

From [email protected] on August 20, 2014 05:58:29

Presently, in order to do animations, I manually combine the data (copy+paste) from individual images into a single file in identical format to how a font is stored.

This is a very manual and slow process (especially once you get to large numbers of frames) but it works well once the data file is created. It is very easy to use the data in embedded code also, with the animation simply stepping through the "font" to display each frame image in turn.

An animation has very similar characteristics to a font, with identical size images all under a single identifier. It would be very useful to be able to open a bunch of images as per usual in the editor, and in the File Menu have an extra option: "Convert to animation"
This would treat all the images as a single font (maybe the char code could just be a simple image index of 0 -> #images) and save in a single data file.

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=33

Shifted output

From [email protected] on August 04, 2012 13:11:54

What steps will reproduce the problem? 1. Open color image
2. Go to Options > Conversion...
3. Select Type - Color and Data blocks - 32-bit
4. Select 8bits per each color What is the expected output? What do you see instead? Without packing enabled I would expect the most significant byte of the data block to be 0, e.g. 0x00RRGGBB, but now it's 0xRRGGBB00. To achieve what I expect I need to select "opposite order" of color (in here BGR) and check "swap bytes".

As an additional enchancement I suggest you could add a "shift" parameter, which would be enabled only if data block is bigger than total number of image bits AND when packing is disabled, for example when data block is 32-bit and you select 24bpp it would be on, but for 16-bit blocks and 16 bpp it would be disabled. What version of the product are you using? On what operating system? The most recent

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=7

Forced font reordering

Hi,
I made a new font table with only number and a plus sign symbol and negative sign symbol (0,1,2,3,4,5,6,7,8,9,+,-) in this order.
But when I am hit convert and I check the output, the order of the characters are changed (+,-,0,1,2,3,4,5,6,7,8,9). This is behave like an ASCII value based order.
I builded from source under mac in yesterday.
Revision bf3294d from 2017-03-20 21:03:09 +0500
I linked the generated .c file. It is list in the right order in the description of the file but wrong order in the rest.
https://pastebin.com/J6YqsfGe

"Mirror bytes" issue

From [email protected] on August 04, 2012 13:03:28

What steps will reproduce the problem? 1. Open any color image
2. Go to Options > Conversion...
3. Select Type - Color and Data blocks - 32 bit What is the expected output? What do you see instead? When you check "Mirror bytes" in the preview you see correct operation - for example 0x01AA8000 becomes 0x80550100, but the "slider preview" below all the options mirrors the whole data block. Initially you have: R7 -0 G7-0 B7-0 8x0
With "Mirror bytes" checked you get:
8x0 B0-7 G0-7 R0 -7
You would expect that to be: R0 -7 G0-7 B0-7 8x0

The same is true for 16-bit data blocks, only for 8-bit blocks it works fine, as then "mirror bytes" is equivalent to "mirror blocks".

Of course that's the problem with "slider preview" only, as the output is correct. What version of the product are you using? On what operating system? The most recent (;

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=6

Unable to use wildcard with hex2bin command mode

From [email protected] on August 20, 2014 10:50:27

What steps will reproduce the problem? 1. lcd-image-converter.exe --mode=hex2bin --input=.c --output=.bin What is the expected output? What do you see instead? Error is produced. The aim is to convert all .c files in the current directory to .bin with one command. Instead it is required to name them explicitly, one per command.

Would be very useful if wildcards worked with hex2bin as I am constantly adding new images and fonts to the image, now at 43 and counting. What version of the product are you using? On what operating system? Develop on Windows 7
Rev: c4a734f

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=34

Prepare option strange behaviour

From [email protected] on January 03, 2014 18:26:29

What steps will reproduce the problem? Create font with character "!", 12 px high.

  • In options, all Monochrome (1bpp), 8 bit block size.
  • In options, set inverse (for clarity)
  • Top to Bottom, Forward. Preview (of !):
    0x40,
    0x40,
    0x40,
    0x40,
    0x40,
    0x40,
    0x40,
    0x00,
    0x40,
    0x00,
    0x00,
    0x00
  • set Bottom to Top
    0x40,
    0x40,
    0x40,
    0x40,
    0x40,
    0x40,
    0x40,
    0x00,
    0x40,
    0x00,
    0x00,
    0x00
  • set Left to Right
    0x49, 0x20,
    0x49, 0x00,
    0x40, 0x00
  • set Right to Left
    0x00, 0x20,
    0x09, 0x20,
    0x49, 0x20
  • Change Endian : no effect. What is the expected output? What do you see instead? Top to Bottom : as expected (bits packed left to right).
    Bottom to Top : No change. Character should be flipped vertical
    Left to Right: Bits are packed into the correct # of bytes, but ordering is still as for top-bottom
    Right to Left: Bits still packed into bytes right to left

Endian should reverse order of bits in bytes (when in monochrome) What version of the product are you using? On what operating system? Built from git c026d86 on Mac OS X 64 bit. Please provide any additional information below. Hypothesis: because monochrome packs multiple pixels into bytes, reordering is incorrect... algorithm operates on whole bytes.

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=19

libqxcb failed to load: No protocol specified

I've run qmake and make and the build creates ./release/linux/output/lcd-image-converter but when I run it I get the error:

No protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-org.kde.kwin.qpa, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

I set the qt debug mode on export QT_DEBUG_PLUGINS=1 and I get the output:

QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/qt/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/KWinQpaPlugin.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/KWinQpaPlugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-org.kde.kwin.qpa"
        ]
    },
    "archreq": 0,
    "className": "KWinIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("wayland-org.kde.kwin.qpa")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqeglfs.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "archreq": 0,
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "archreq": 0,
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqminimal.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "archreq": 0,
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqminimalegl.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "archreq": 0,
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqoffscreen.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "archreq": 0,
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqvnc.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "archreq": 0,
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqwayland-egl.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqwayland-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-egl"
        ]
    },
    "archreq": 0,
    "className": "QWaylandEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("wayland-egl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqwayland-generic.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqwayland-generic.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland"
        ]
    },
    "archreq": 0,
    "className": "QWaylandIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("wayland")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqwayland-xcomposite-egl.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqwayland-xcomposite-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-egl"
        ]
    },
    "archreq": 0,
    "className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("wayland-xcomposite-egl")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqwayland-xcomposite-glx.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqwayland-xcomposite-glx.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-glx"
        ]
    },
    "archreq": 0,
    "className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("wayland-xcomposite-glx")
QFactoryLoader::QFactoryLoader() looking at "/usr/lib/qt/plugins/platforms/libqxcb.so"
Found metadata in lib /usr/lib/qt/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 331264
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/tom/Scripts/lcd-image-converter/release/linux/output/platforms" ...
loaded library "/usr/lib/qt/plugins/platforms/libqxcb.so"
No protocol specified
qt.qpa.xcb: could not connect to display :0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-org.kde.kwin.qpa, eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.

Aborted (core dumped)

I'm not sure how much info is helpful to see what's wrong but here's the dump of dependencies for libqxcb on my system:

 $ldd /usr/lib/qt/plugins/platforms/libqxcb.so 
        linux-vdso.so.1 (0x00007ffead998000)
        libQt5XcbQpa.so.5 => /usr/lib/libQt5XcbQpa.so.5 (0x00007f8a613c8000)
        libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0x00007f8a60d20000)
        libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0x00007f8a607e8000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f8a605fe000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f8a60437000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007f8a603f0000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007f8a60320000)
        libQt5DBus.so.5 => /usr/lib/libQt5DBus.so.5 (0x00007f8a60285000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f8a60263000)
        libX11-xcb.so.1 => /usr/lib/libX11-xcb.so.1 (0x00007f8a6025e000)
        libxcb-xinput.so.0 => /usr/lib/libxcb-xinput.so.0 (0x00007f8a60239000)
        libxcb-icccm.so.4 => /usr/lib/libxcb-icccm.so.4 (0x00007f8a60034000)
        libxcb-image.so.0 => /usr/lib/libxcb-image.so.0 (0x00007f8a5fe2d000)
        libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007f8a5fe28000)
        libxcb-keysyms.so.1 => /usr/lib/libxcb-keysyms.so.1 (0x00007f8a5fc25000)
        libxcb-randr.so.0 => /usr/lib/libxcb-randr.so.0 (0x00007f8a5fc13000)
        libxcb-render-util.so.0 => /usr/lib/libxcb-render-util.so.0 (0x00007f8a5fa0f000)
        libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007f8a5f9ff000)
        libxcb-shape.so.0 => /usr/lib/libxcb-shape.so.0 (0x00007f8a5f9f7000)
        libxcb-sync.so.1 => /usr/lib/libxcb-sync.so.1 (0x00007f8a5f9ed000)
        libxcb-xfixes.so.0 => /usr/lib/libxcb-xfixes.so.0 (0x00007f8a5f9e3000)
        libxcb-xinerama.so.0 => /usr/lib/libxcb-xinerama.so.0 (0x00007f8a5f9de000)
        libxcb-xkb.so.1 => /usr/lib/libxcb-xkb.so.1 (0x00007f8a5f9c0000)
        libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007f8a5f996000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x00007f8a5f854000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x00007f8a5f849000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x00007f8a5f82c000)
        libxkbcommon-x11.so.0 => /usr/lib/libxkbcommon-x11.so.0 (0x00007f8a5f822000)
        libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007f8a5f7e1000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007f8a5f6bc000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007f8a5f574000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f8a5f55a000)
        libmd4c.so.0 => /usr/lib/libmd4c.so.0 (0x00007f8a5f544000)
        libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f8a5f4be000)
        libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007f8a5f486000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007f8a5f46c000)
        libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007f8a5f366000)
        libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007f8a5f2bf000)
        libdouble-conversion.so.3 => /usr/lib/libdouble-conversion.so.3 (0x00007f8a5f2a8000)
        libicui18n.so.65 => /usr/lib/libicui18n.so.65 (0x00007f8a5efb4000)
        libicuuc.so.65 => /usr/lib/libicuuc.so.65 (0x00007f8a5edd2000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f8a5edcd000)
        libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0x00007f8a5ed47000)
        libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f8a5ec9d000)
        /usr/lib64/ld-linux-x86-64.so.2 (0x00007f8a6156b000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007f8a5ec6d000)
        libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007f8a5ec64000)
        libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007f8a5ec51000)
        libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f8a5ec07000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x00007f8a5ec00000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007f8a5ebf8000)
        libxcb-util.so.1 => /usr/lib/libxcb-util.so.1 (0x00007f8a5e9f2000)
        libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007f8a5e97f000)
        libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f8a5e8c6000)
        libGLX.so.0 => /usr/lib/libGLX.so.0 (0x00007f8a5e893000)
        libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007f8a5e86e000)
        librt.so.1 => /usr/lib/librt.so.1 (0x00007f8a5e863000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f8a5e83b000)
        liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007f8a5e819000)
        libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007f8a5e6f9000)
        libicudata.so.65 => /usr/lib/libicudata.so.65 (0x00007f8a5cc48000)
        libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f8a5cc25000)

I have also reinstalled libqxcb but still isn't working. Can you help me? My environment is:

Operating System: Manjaro Linux 
KDE Plasma Version: 5.17.5
KDE Frameworks Version: 5.66.0
Qt Version: 5.14.0
Kernel Version: 5.4.13-3-MANJARO
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-3632QM CPU @ 2.20GHz
Memory: 15.3 GiB of RAM

How to make a 4bpp font?

From [email protected] on July 16, 2014 20:00:30

Hi,

I'm trying to use your software to create a bitmap font for my embedded application. What I need is anti-aliased 4bpp font, is it possible to to in your program? I've seen mentionings of it in the documentation, but couldn't find or create a 4bpp preset in the GUI.

Could you please help me?

Thanks!

Vasily Zakharov [email protected]

P.S. Sorry, couldn't find a better way to contact you.

P.P.S. By the way, I'm Russian, so if by chance you are too - we could use Russian to communicate. :) Thanks!

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=29

Can't get example code to work.

From [email protected] on September 18, 2014 19:43:56

What steps will reproduce the problem? I am trying us use the example code that is posted on the website to generate fonts. I downloaded the latest version. The structure posted on the site is as follows:

typedef struct
{
const unsigned char data;
uint16_t width;
uint16_t height;
uint8_t dataSize; // *
* This variable is not generated from the tool ***
} tImage;

The c code that is generated does not include the "dataSize" variable and the sample code fails.

The example code on the website uses this variable.

Do I need to change my template?
Please send me sample code to display fonts and images.

Thanks,
Robert

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=36

strange menu behaviour, image import doesn't work

From [email protected] on July 09, 2012 02:13:50

Ubuntu 12.04

When the program opens there is just a blank screen (which looks like it is broken - maybe some splash screen or a default image should appear?)

After opening the program, the 'image' and 'font' menus don't work, unless you first visit one of the other menus.

Then when the image menu is active, going to Image > Import doesn't do anything and doesn't error? (As a workaround it seems you have to go to File > new image first, before Image > Import works.)

May I suggest replacing the menu option 'Image > Import' with 'File > Open Image', which seems to make more sense :)

Anyway thanks for a brilliant little program, it is the only LCD conversion program that works to produce what I needed!

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=3

null pointers for unused characters

добавить возможность делать шрифты с "дырками в диапазоне". т.е. нужны мне цифры и буквы заглавные делаем шрифт с диапазоном от 0x30 до 0x7a. но при этом данные для не цифр и букв не добавляем.

descent parameter

It's a request, not a bug!

It's possible access the 'descent' parameter from baseline in template?
Like this:
glyph_metrics_2x

Ordering problem - naming of bits

From [email protected] on August 04, 2012 03:58:15

In Options > Conversion... the order and naming of bits in the "slider" below options is somewhat opposite to what people usually expect - LSB to be on the left and 0 used to denote LSB.

I suggest you change the "slider" to be completely opposite:

  • initial position - max to the right
  • pixel order from right to left - first pixel (index 0) is placed max to the right

When above suggestions would be implemented current naming of bits would be OK.

Generally the slider should look like this (for 24-bit color and RGB order [when fixed - see issue 4 ]):

... - R1 .7 - R1 .6 - ... - R1 .1 - R1 .0 - G1.7 - G1.6 - ... - G1.1 - G1.0 - B1.7 - B1.6 - ... - B1.1 - B1.0 - R0 .7 - R0 .6 - ... - R0 .1 - R0 .0 - G0.7 - G0.6 - ... - G0.1 - G0.0 - B0.7 - B0.6 - ... - B0.1 - B0.0 [right end]

If you think this is a bad idea I suggest to at least change the naming of bits to be opposite, as currently 0 is for MSB (max to the right) which is confusing.

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=5

codepage 1252 missplaces question mark on conversion

When I converted a set of characters (0x20 to 0xFF) from CP1252 to source code, the question mark inside the filled diamond also got assiged the number 0x3f (regular question mark), where it should have gotten number 0x81. (My font was Arial size 9.)

When I exported with character sorting, the regular question mark got replaced with the diamond one. When I exported without sorting, Arial09_0x3f and image_data_Arial09_0x3 got created twice, once for each variant of the question mark.

#if (0x0 == 0x0)
  // character: '?'
  {0x3f, &Arial09_0x3f},
#else
  // character: '?' == ''
  {0x3f, &Arial09_0x},
#endif
#if (0x0 == 0x0)
  // character: '�'
  {0x3f, &Arial09_0x3f},
#else
  // character: '�' == ''
  {0x3f, &Arial09_0x},
#endif

My settings:

* generated by lcd-image-converter rev.030b30d from [...]
[...]
* name: Arial09
* family: Arial
* size: 9
* style: Standard
* included characters:  !"#$%&'()*+,-./0123456789:;<=>?\x0040ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x007f€�‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ\x00a0¡¢£¤¥¦§¨©ª«¬\x00ad®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
* antialiasing: no
* type: proportional
* encoding: windows-1252
* unicode bom: no
*
* preset name: Monochrome
* data block size: 8 bit(s), uint8_t
* RLE compression enabled: no
* conversion type: Monochrome, Diffuse Dither 128
* split to rows: yes
* bits per pixel: 1
*
* preprocess:
*  main scan direction: top_to_bottom
*  line scan direction: forward
*  inverse: no

EDIT: added revision info to header extract

RLE Compressor improvement

From [email protected] on August 12, 2014 04:29:30

What steps will reproduce the problem? 1. Load an image (a photo is a good demo for this, attached my demo pic)
2. Convert image with RLE on
3. Count number of sequences
4. Note filesize
5. Modify rlecompressor.cpp with this line and repeat steps 1. thru 4.

line 86:
-- if (!this->allEquals(&queue) && queue.last() == value)
++ if (!this->allEquals(&queue) && queue.last() == value && queue.last() == input->at(i+1))

results are (from attached image):
Original (no code mod) (min size = 2)
total sequences+nonsequences = 10781
filesize = 75218 values

Min size = 3 (attached code mod)
total sequences+nonsequences = 4321
filesize = 72318 values

Min size = 4
total sequences+nonsequenes = 2783
filesize = 72493 values

A min size of 3 seems to have advantages not just in file size, but also in time to decompress (less sequences = less operations as use a single memcpy() or memset() for each sequence. I was getting less than half the time to decompress on my micro as soon as I went to min=3!
As you go to min size of 4.. as you would expect file size starts getting bigger as you get closer to an uncompressed image, and less gains from reduction of number of sequences for decompression time. Not sure if its worth making the min size user settable, but a min size of 3 by default would seem to be worth it.

Please note: my test code has no bounds check on i, it could be addressing past the end of the input list as i approaches the end which may cause problems on some images. What version of the product are you using? On what operating system? Develop version on Windows 7.
16 bit, Color R5G6B5, RLE Please provide any additional information below. Manual example:
1122456888
could be:
2,1,2,2,-3,4,5,6,3,8
or
-7,1,1,2,2,4,5,6,3,8

Second one is much faster to decompress as a single memcpy() and a memset instead of 3x memset() + a memcpy() + loading each sequence. Obviously you get less compression however as you start to increase min seq size.

Attachment: DSC06933 crop 320x240.png

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=31

Сглаживание включается для некоторых размеров шрифта без спроса

Добрый день!

Ревизия ff449e0 от 2014-12-14 12:47:27 +0500

Создаю новый шрифт, задаю настройки преобразования "Монохромный, порог"

Задаю параметры шрифта - моноширинный, сглаживание выключено, размер шрифта 16 и менее - все работает как ожидается.

Меняю параметры, изменив размер шрифта больше 16, но меньше 72 - в битмапах шрифта появляется сглафивание полутонами, которое я не включал

Меняю параметры, изменив размер шрифта больше 72 - снова все ОК.

В версии Ревизия a7e11ff от 2014-07-19 18:41:19 +0600 такого глюка нет.

Спасибо за отличную программу!
С уважением, Дмитрий

Cannot build on Mac OS 10.12.4

Hello:
While trying to build this app using qmake according to your instructions, qmake gives this error:
RCC: Error in 'resources/resources.qrc': Cannot find file 'lcd-image-converter-ru.qm'

What am I doing wrong?

Thanks,
Ed

Czech ascii table

From [email protected] on May 03, 2013 12:14:33

Hallo,

I am very interested about your program. I create fonts in it for graphics display 320x240 px. But I have one problem. In program miss support for czech ascii table.

Here is: !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[]^_`abcdefghijklmnopqrstuvwxyz{|}~�€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙

Would it be possible to add to the program?
Thank you very much, regards: Drazdil Zdenek.

Attachment: Czech ASCII table.txt

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=12

pressing 'update' close the application

Hi vladimir, thanks for writing this, it's the best tool for LCD I've find around!
I'm using extensively and noticed only some small bug (I will point you the list and how to reproduce).
The most evident (with the last beta) is pressing update close the application without any notice.

PS
The 'Templates' system are extremely useful! Would be great if it's possible to expand commands inside templates but even as it is there's nothing similar in any program!

Build in OS X

From [email protected] on June 05, 2014 00:26:31

Dear Vladimir,

I've tried to build you program in OS X 10.9.3, but got this. Please see the attached patch hopefully solving the problem.

controls/setup/parts/matrix/matrixitemdelegate.cpp:22:49: error: addition of
default argument on redeclaration makes this constructor a default
constructor
MatrixItemDelegate::MatrixItemDelegate(QObject pobj = 0) : QItemDelegate(pobj)
^ ~
controls/setup/parts/matrix/matrixitemdelegate.h:32:5: note: previous
declaration is here
MatrixItemDelegate(QObject *pobj);
^
1 error generated.
make: *
* [.obj/matrixitemdelegate.o] Error 1

Attachment: lcd-image-converter-patch.diff

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=28

default file naming

From [email protected] on March 05, 2014 20:30:23

when importing an image the image name should be renamed to the same name as te image filename (or a promt box should ask if you want this)

also when converting to a c file or saving the setup to xml the image name should be default filled in as the "save as" filename

this should avoid that the same name has to be filled in 3 times for each image

thx
tom

Original issue: http://code.google.com/p/lcd-image-converter/issues/detail?id=24

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.