Comments (15)
From [email protected] on August 04, 2012 11:12:55
I'll add the option "align to msb" and "to lsb"
Status: Accepted
Owner: [email protected]
Labels: -Type-Defect Type-Enhancement Component-Logic
from lcd-image-converter.
From [email protected] on August 04, 2012 11:26:14
So I guess it would align the data to left or right side of data block. I think that it would be more flexible to have it as a shift option with exact number of bits. Additionally I thought about adding explicit "padding" option, which would add some number of zeroes before/after data - notice that now when you have data as R5G5B5 and 32bit data blocks, the two zeroes are at the end of data block, while it would be more reasonable to have one zero after/before each pixel. That's why having shift or left & right padding would satisfy all possible combinations [;
Anyway - your software is the only one that "has it all":
- fonts and images, using the same logic (brilliant!) - not just one,
- opensource
- color, monochrome and grayscale - not just one of these,
- various transformation options, so it's not for XXX123 controller type - it fits them all,
- ...
so I'd like you to know that this software is great and thx for doing it!
from lcd-image-converter.
From [email protected] on August 04, 2012 11:30:27
data as R5G5B5 and 32bit data blocks, the two zeroes are at the end of data block, while it would be more reasonable to have one zero after/before each pixel.
Can you give an example of a real lcd with such bizarre organization of data?
from lcd-image-converter.
From [email protected] on August 04, 2012 11:45:01
You can do it yourself, for example with LPC2478 MCU you can connect the LCD panel to the embedded LCD controller whatever way you like - if you have some reason to have just R5G5B5 (I don't know - one pin just HAS to be used for something else) you can have such organization.
But on the other hand you can achieve one zero after pixel by just selecting 16-bit data blocks...
Once I needed to have monochrome data for LCD in blocks of 24-bits each (that's the size of flash memory on PIC24 microcontroller) - I needed LOTS of images in flash, and wasting 1/3 of memory didn't look too good in that aspect (; With left & right padding I could achieve that with your software, without it there's no way to do it - I could not use 8-bit blocks, the 24-bit words are possible to use only via assembly directives and each "block" just has to be 24-bits wide.
I'm kinda brainstorming about ways to make this software THE MOST versatile solution of them all. There are use cases that we don't know about (consider the above example), but that does not mean they don't exist.
I just think implementing left & right padding would take nearly the same amount of time as "align to msb / lsb", while the former is a solution for ALL possible combinations of shifting.
from lcd-image-converter.
From [email protected] on August 04, 2012 12:33:23
Ok, I'll think about the implementation of this shift..
24-bit data can be obtained by removing unnecessary byte from 32-bit data, with the help of some scripts.
Status: Started
from lcd-image-converter.
From [email protected] on August 04, 2012 14:07:05
Ok, I'll think about the implementation of this shift..
Options to pad data with 0 from either side would be much better - you could do shift by just padding it from right (from LSB side), you can separate data from other bits by padding it from left (from MSB).
24-bit data can be obtained by removing unnecessary byte from 32-bit data, with the help of some scripts.
But there's not unnecessary byte - it was mono display - 1bpp - and I needed to pack 24 pixels (24 bits) into one block. If it was just a removal of 0 from 0x00RRGGBB there would be on problem at all. I could probably generate data in bytes and then join them with some regex, but why do that if there is a software to do the conversion (;
from lcd-image-converter.
From [email protected] on August 08, 2012 12:21:58
The result is something like this ...
The program will have the ability to set any bits of the source image to any position in the output data block.
Screenshot of prototype is attached.
Attachment: prototype.jpg
from lcd-image-converter.
From [email protected] on August 08, 2012 12:24:18
Looks very promising and powerful - can't wait to test (;
from lcd-image-converter.
From [email protected] on August 10, 2012 14:44:20
Try this, revision 6b01a79 : https://code.google.com/p/lcd-image-converter/downloads/detail?name=lcd-image-converter-6b01a79c01bd-beta.zip Be careful, it is not completed
from lcd-image-converter.
From [email protected] on August 14, 2012 09:14:42
Added wiki page: https://code.google.com/p/lcd-image-converter/wiki/ConversionNew
from lcd-image-converter.
From [email protected] on August 17, 2012 09:27:04
OK, I'm testing (; Looks very powerful.
I've managed to crash the app while playing with the matrix three times, doing different things so I guess maybe some memory leaks or null pointers? Info from Windows:
Nazwa zdarzenia problemu: APPCRASH (name)
Nazwa aplikacji: lcd-image-converter.exe (app name)
Wersja aplikacji: 0.0.0.0 (app version)
Sygnatura czasowa aplikacji: 502d3842 (timecode of app)
Nazwa modułu z błędem: lcd-image-converter.exe (name of module with problem)
Wersja modułu z błędem: 0.0.0.0 (version of module with problem)
Sygnatura czasowa modułu z błędem: 502d3842 (timecode of module with problem)
Kod wyjątku: c0000005 (exception code)
Przesunięcie wyjątku: 0002b41b (exception shift? offset?)
Wersja systemu operacyjnego: 6.1.7601.2.1.0.256.1 (version of OS)
Identyfikator ustawień regionalnych: 1045 (regional settings ID)
Dodatkowe informacje 1: 0a9e (additional info 1)
Dodatkowe informacje 2: 0a9e372d3b4ad19135b953a78882e789
Dodatkowe informacje 3: 0a9e
Dodatkowe informacje 4: 0a9e372d3b4ad19135b953a78882e789
When you change the conversion matrix and press OK and then reopen the dialog, the matrix is in it's default state - probably have to save it to retain the settings...
I suggest changing this default color preset to be R5G6B5 (; Another preset for R8G8B8 would also be welcome (;
I also suggest adding some kind of spacer (thick line, empty line, ...) between Source and other rows and between result and fill, as these "pairs" are not actually part of the matrix itself (there are no bit operations from top to bottom on these two rows)
Set all to 0/1 does not work for Fill row.
It would be nice if the context menu also worked when clicking on the row name (e.g. on "Operation 1" too, not only on bits of this row).
I don't fully get the "Fill" parameter - maybe it could be named differently, or the wiki description improved a bit about this one (the gif is very cryptic - maybe some captions?).
Anyway - the crash is a problem, setting all bits in Fill to 0/1 is a minor issue, with two presets for typical color applications (R5G6B5 and R8G8B8) it would be cool (;
BTW - having 24-bit block data will probably result in having uint24_t variables defined according to issue 8 - there is of course no such type and uint32_t should be used... Anyway - 24-bit block can be emulated with 32-bit block and 0x00FFFFFF fill, am I right? If yes, then I think such block size could be removed...
from lcd-image-converter.
From [email protected] on August 17, 2012 09:51:58
I've tested lcd-image-converter-6483bdddd409-beta from Download section. Will try the one from comment #9.
from lcd-image-converter.
From [email protected] on August 17, 2012 09:55:12
#9 R6b01a79c01bd too old, it's not working.
"Fill" row can be set to "1", but not to "0". Because empty fill mask will produced infinite loop.
Can you write steps to reproduce application crash?
from lcd-image-converter.
From [email protected] on August 17, 2012 13:33:18
R849c00bbf31a -beta uploaded.
Fixed app crash;
Fixed settings saving;
Added lines between rows;
Added context menu to row's headers;
Removed "Set all to 0" from "Fill" mask menu;
"Fill mask" description updated at wiki;
Fixed issue 8 .
You are right. But 24-block data stays in options, because user can add "typedef unsigned int uint24_t" or have existing type definition on target platform; also type just can be changed in template files.
from lcd-image-converter.
From [email protected] on September 01, 2012 03:32:59
Rbe13e6f34980 uploaded.
Status: Fixed
from lcd-image-converter.
Related Issues (20)
- I want to display pictures in BMP format on Qt5. The way I can think of is to ask you. HOT 2
- Checkbox "Split to rows" not applied when RLE Compression is active HOT 1
- "Split to rows" only works when "Bands" is disabled HOT 1
- Zig-zag conversion HOT 3
- Convert Animated Gif HOT 1
- Char Byte alignment
- Adafruit GFX Compatibility HOT 3
- need help HOT 18
- некорректное использование неполного типа «const class QPainterPath» HOT 1
- Lost presets HOT 1
- Wrong version gets downloaded as latest on sourceforge.com HOT 2
- Completely broken HOT 1
- 72pix fonts are same height as 48pix or 54pix fonts HOT 3
- Wrong font rendering
- Fails to build with unknown module QT: xmlpatterns HOT 2
- Byte order in image options not works HOT 2
- lcd-image-converter HOT 2
- I do not have the RGB565 color option. HOT 1
- Incorrect .ttf to monochrome 16-bit conversion HOT 1
- little endian to big endian HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lcd-image-converter.