Commit Graph

62 Commits

Author SHA1 Message Date
459cb3ec5b libimg: Improve support of transparent PNG images.
* Support grayscale images with alpha channel.
* Support rgb images with transparent color.
* Process 'tRNS' chunk (simple transparency).

Transparent png images were already supported for color type 6, which
is RGBA. Now indexed images (color type 3) can also have transparency
via 'tRNS' chunk data.

git-svn-id: svn://kolibrios.org@8449 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-18 22:08:51 +00:00
IgorA
9a54fc6aed tinygl: add some double functions, add bcc32 example
libimg: small optimize

git-svn-id: svn://kolibrios.org@8408 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-14 16:48:32 +00:00
eb01893ff6 libimg: fix transparency in indexed png images.
git-svn-id: svn://kolibrios.org@8399 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-13 21:26:28 +00:00
11e69b4021 libimg: export img.resize_data
git-svn-id: svn://kolibrios.org@8395 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-13 18:07:49 +00:00
201cf02d85 libimg: transparency fixes.
img.convert doesn't make opaque pixels transparent.
gif decoder considers palette pixels opaque.

git-svn-id: svn://kolibrios.org@8394 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-13 17:22:19 +00:00
Kirill Lipatov (Leency)
5d3b2a031a libimg: img.decode now checks that length is not null
WebView: img tag: proceed data-src= if src= is empty, fix crash

git-svn-id: svn://kolibrios.org@8363 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-11 03:05:01 +00:00
263f2855f2 libimg: Add and export img.blend function
git-svn-id: svn://kolibrios.org@8341 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-12-08 17:40:34 +00:00
a0a18277da libimg: tiff: Don't rely on EOI tag at the end of the strip.
Reference implementation (libtiff) has a workaround: precalculate data
size of the strip and don't rely on EOI tag of specific bit length.

This allow to read some invalid TIFF LZW images by my old scanner.

git-svn-id: svn://kolibrios.org@7735 a494cfbc-eb01-0410-851d-a64ba20cac60
2020-03-07 12:54:18 +00:00
c7f696b50f Libimg: Fix bug with 16-bit BMP padding.
git-svn-id: svn://kolibrios.org@7523 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-11-03 17:36:45 +00:00
IgorA
c87db09b6e libimg: fix save small png images
git-svn-id: svn://kolibrios.org@7279 a494cfbc-eb01-0410-851d-a64ba20cac60
2018-05-15 16:43:23 +00:00
6cf659fe71 libimg: add img.from_file, refactor img.convert.
Add new function, img.from_file: gets file name and returns decoded Image.
Make img.convert code less spaghetti: use jump table, not a chain of jmp's.


git-svn-id: svn://kolibrios.org@7105 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-10-31 21:33:52 +00:00
IgorA
dc5527c5ca update docs sys function 54.1
git-svn-id: svn://kolibrios.org@6891 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-04-29 09:12:39 +00:00
IgorA
c162817dfc add filter 'paeth', fix in 'build_bl_tree'
git-svn-id: svn://kolibrios.org@6888 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-04-18 09:45:38 +00:00
IgorA
6bc316c46e fix continue crc calculation in 'archiver.obj'
git-svn-id: svn://kolibrios.org@6883 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-04-06 06:42:07 +00:00
IgorA
ff3cee003b small fixes
git-svn-id: svn://kolibrios.org@6881 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-03-31 18:34:26 +00:00
IgorA
c5ce2bec50 fix calculation 'adler32',
other small fixes

git-svn-id: svn://kolibrios.org@6873 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-03-04 19:17:49 +00:00
IgorA
19552bad79 fix r6860, small change in 'libimg.obj'
git-svn-id: svn://kolibrios.org@6870 a494cfbc-eb01-0410-851d-a64ba20cac60
2017-02-28 18:02:53 +00:00
741b6ad89c img.scale and img.convert fix for multiframe images
new function: img.get_scaled_size


git-svn-id: svn://kolibrios.org@6807 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-22 23:29:25 +00:00
IgorA
2c0a9cbf44 optimize struct 'z_stream'
git-svn-id: svn://kolibrios.org@6797 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-14 14:54:51 +00:00
IgorA
9a564b1fbf fix compress size
git-svn-id: svn://kolibrios.org@6780 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-03 19:06:49 +00:00
IgorA
cdfe44d0b7 fix, optimize, clean code
git-svn-id: svn://kolibrios.org@6779 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-12-02 16:13:46 +00:00
IgorA
e73f2a8659 optimize 'libimg.obj',
fix in 'zlib.obj',
animage can save '*.png' files

git-svn-id: svn://kolibrios.org@6741 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-23 09:11:10 +00:00
Kirill Lipatov (Leency)
64b1d5344a move cubeline to ISO, add "fasm -m 32768" into libimg Tupfile
git-svn-id: svn://kolibrios.org@6734 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-21 20:12:44 +00:00
IgorA
722650c58d libimg can save 24-bit *.png images
git-svn-id: svn://kolibrios.org@6733 a494cfbc-eb01-0410-851d-a64ba20cac60
2016-11-21 16:00:11 +00:00
CleverMouse
cd74d1af33 switch build system to Tup
git-svn-id: svn://kolibrios.org@5098 a494cfbc-eb01-0410-851d-a64ba20cac60
2014-09-12 15:15:23 +00:00
0a44c9a5ca libimg: check raw pnm payload size (broken files)
git-svn-id: svn://kolibrios.org@4229 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-11-14 11:12:21 +00:00
ccaf3a054b libimg:
add new image types (Image.bpp2i, Image.bpp4i); update to_rgb, flip, rotate functions
decode .bpp2i and .bpp4i tiff images
disable memory limit for decoded images


git-svn-id: svn://kolibrios.org@3503 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-11 21:31:21 +00:00
a524093376 libimg: pcx: unpack scanlines, not color planes
git-svn-id: svn://kolibrios.org@3499 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-05-10 12:28:39 +00:00
9e218440da add convert.asm (fix previous revision)
git-svn-id: svn://kolibrios.org@3056 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-18 16:12:36 +00:00
e9998d7f13 libimg:
introduce img.convert + example
update tga decoder
img.to_rgb and img.to_rgb2 are deprecated


git-svn-id: svn://kolibrios.org@3055 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-18 16:10:28 +00:00
9fcea4ddbf libimg: new scale type (tile), some fixes
git-svn-id: svn://kolibrios.org@3053 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-17 13:24:10 +00:00
a34e834d07 libimg: img.scale prototype and simple example
git-svn-id: svn://kolibrios.org@3036 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-11-13 19:16:23 +00:00
e049b4d610 libimg:
read lzw-encoded tiff images
handle predictor tag in tiff files


git-svn-id: svn://kolibrios.org@2992 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-10-29 16:17:45 +00:00
185caf04b2 libimg:
new image type: grayscale (Image.bpp9)
tiff fixes for grayscale+alpha images
xcf regression bug fixed (screen mode blending, r2388)


git-svn-id: svn://kolibrios.org@2733 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-06-04 03:54:14 +00:00
735d94c630 libimg: bmp 24/32bpp encoding
git-svn-id: svn://kolibrios.org@2692 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-05-27 00:00:29 +00:00
ef860d6920 libimg:
img.flip.layer fix for images of scanline width less than 4 bytes
bmp: check for more InfoHeader types


git-svn-id: svn://kolibrios.org@2691 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-05-26 18:26:46 +00:00
0f1707c32e libimg: encode API; pnm (pbm, pgm, ppm) encoding in raw mode
git-svn-id: svn://kolibrios.org@2684 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-05-25 23:02:44 +00:00
852732a9b1 libimg: tiff fix (packbits); pcx old code optimizing and fix (even byte)
git-svn-id: svn://kolibrios.org@2397 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-24 17:47:42 +00:00
d8340e0c31 libimg: wbmp support (easy programming example)
git-svn-id: svn://kolibrios.org@2392 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-23 22:49:04 +00:00
0808796ed5 libimg:
1. tiff (baseline) support
2. pnm (portable anymap) bilevel, grayscale (8bpp), pixmap (24bpp) support
3. xcf: optional layer merging/blending with sse (default is mmx)
4'. new formatting for my old code. more readable for now


git-svn-id: svn://kolibrios.org@2388 a494cfbc-eb01-0410-851d-a64ba20cac60
2012-02-23 22:09:09 +00:00
d8fd58b4f5 libimg: icon related bug fixed (reported by Leency)
git-svn-id: svn://kolibrios.org@2284 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-10-09 10:14:44 +00:00
6537174613 libimg: basic xcf support (reading)
git-svn-id: svn://kolibrios.org@1921 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-05-02 17:26:50 +00:00
CleverMouse
909f14782c fix compilation in linux
git-svn-id: svn://kolibrios.org@1728 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-12-27 12:29:39 +00:00
23b7fbd318 libimg: 1bpp (monochrome) images support,
pcx.asm now uses 1bpp functions too, pcx code optimization


git-svn-id: svn://kolibrios.org@1593 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-08-25 14:59:27 +00:00
Evgeny Grechnikov (Diamond)
5a26b0c156 libimg: fixed typo in pcx.asm
git-svn-id: svn://kolibrios.org@1580 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-08-23 20:45:03 +00:00
7ea3c78d40 libimg: PCX v3.0 image format support - grayscale and monochrome (through converting to 8bit) decoding
git-svn-id: svn://kolibrios.org@1572 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-08-19 20:22:50 +00:00
a01a8d3da4 libimg: begin of PCX image format support (version 3.0 24bit only for now)
git-svn-id: svn://kolibrios.org@1569 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-08-16 22:01:31 +00:00
Evgeny Grechnikov (Diamond)
1f30a976a3 libimg: fix in check of very small files for TGA format
git-svn-id: svn://kolibrios.org@1426 a494cfbc-eb01-0410-851d-a64ba20cac60
2010-02-28 19:09:17 +00:00
Evgeny Grechnikov (Diamond)
421700a8b0 libimg: interlaced PNG
git-svn-id: svn://kolibrios.org@1308 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-12-06 14:02:44 +00:00
Evgeny Grechnikov (Diamond)
b599c0a70c procedure img.draw fixed
git-svn-id: svn://kolibrios.org@1252 a494cfbc-eb01-0410-851d-a64ba20cac60
2009-11-07 16:33:23 +00:00