Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

bugs report: KOLPNG   Найти похожие ветки 

 
azsd ©   (2004-01-09 09:20) [0]

kolzlib 3.179/2.151
kolpng 2.1.14
KOL 1.89
Delphi 6.0
added:
uses Windows, Messages, ShellAPI, KOL {$IFNDEF KOL_MCK}, mirror, Classes, Controls, mckControls, mckObjs, Graphics, mckCtrls {$ENDIF},kolpng;

Error Message displayed:

[Error] KOLPng.pas(1227): Undeclared identifier: "InflateInit_"
[Error] KOLPng.pas(1247): Undeclared identifier: "deflateInit_"
[Error] KOLPng.pas(1254): Undeclared identifier: "DeflateEnd"
[Error] KOLPng.pas(1263): Undeclared identifier: "InflateEnd"
[Error] KOLPng.pas(1370): Undeclared identifier: "inflate"
[Error] KOLPng.pas(2175): Undeclared identifier: "deflate"
[Error] KOLPng.pas(2175): Undeclared identifier: "Z_NO_FLUSH"
[Error] KOLPng.pas(2202): Undeclared identifier: "deflate"
[Error] KOLPng.pas(2202): Undeclared identifier: "Z_FINISH"
[Error] KOLPng.pas(2202): Undeclared identifier: "Z_STREAM_END"
[Warning] KOLPng.pas(2202): Comparing signed and unsigned types - widened both operands
[Fatal Error] MainUnt.pas(9): Could not compile used unit "kolpng.pas"

these function in kolzib.pas is defined as extern from obj,
but kolpng can"t use it.
zlib"s demo works fine,but when add InflateInit_ in a the zlib demo,it popup same error message.


 
Walkboy   (2004-01-09 16:21) [1]

May I try to help.
Because of KolPNG uses some of deflate-/inflate-functions I have to modify source KolZlib.
Added block before line implementation:

// deflate compresses data
function deflateInit_(var strm: TZStreamRec; level: Integer; version: PChar;
 recsize: Integer): Integer;
function deflate(var strm: TZStreamRec; flush: Integer): Integer;
function deflateEnd(var strm: TZStreamRec): Integer;

// inflate decompresses data
function inflateInit_(var strm: TZStreamRec; Version: PChar; recsize: Integer): Integer;
function inflate(var strm: TZStreamRec; flush: Integer): Integer;
function inflateEnd(var strm: TZStreamRec): Integer;
function inflateReset(var strm: TZStreamRec): Integer;

And in adition, block const wich was situated after line implementation moved to place before it.
And now KolPNG works, but not fully.
See about this in topic Как пользоваться KOLPNG <a href="http://delphimaster.net/view/11-1054378257/">link</a>.


 
azsd ©   (2004-01-09 16:57) [2]

yes follow these step it works.
thanks,
waiting for authority fix.


 
Walkboy   (2004-01-10 16:17) [3]

Раз уж эта тема про баги, то напишу сюда.
Предлагаемая библиотека KolPNG при каждом сохранении искажает изображение. Искажение выражается в небольшом еле заметном осветлении изображения.
Вот текст программы, которая позволяет выявить это:

program Sample;
{$APPTYPE CONSOLE}
uses KOL, KOLPng;

var Png:PPngObject;
   i:integer;

procedure RemakePNG(Src,Dest:string;CompLvl:byte);
begin
     Png := NewPngObject;
     Png.LoadFromFile(Src);
     Png.CompressionLevel := CompLvl; {1}
     Png.SaveToFile(Dest);
     Png.Free;
end;

begin
    RemakePNG("t:\file1.png","t:\file2.png",0);
    for i:=1 to 25 do
     RemakePNG("t:\file2.png","t:\file2.png",0); {2}
end.


Для этой программы нужен исходный PNG-файл (t:\file1.png). После 25-ти кратной перезаписи отличия между исходным изображением и полученным из него уже становятся очевидны.
Специально, не поленился и скачал исходник - библиотеку PNGImage от Gustavo Daud (http://pngdelphi.sourceforge.net). Последняя версия: 1.4.3.6.1 от 4.03.2003г. Для нее аналогичные манипуляции с исходным PNG-файлом видимых искажений в изображение не внесли. Надо отметить отличную справку, поставляемую с этой библиотекой.
Пример получения PNG из BMP работает только при использовании Graphics. Размер exe-файла получается 170 KB.
Самому адаптировать PNGImage для KOL у меня не получилось - запутался в TBitmap и PBitmap"ах (опыта маловато). Было бы здорово видеть эту библиотеку под KOL в виде обновленной KolPNG. Жду Ваших комментариев, уважаемые разработчики.



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
3-1083912885
Goida
2004-05-07 10:54
2004.05.30
Использование параметров в ADOQuery


3-1083217697
lightix
2004-04-29 09:48
2004.05.30
Проблемы с ADO + Oracle


1-1084859905
dim-
2004-05-18 09:58
2004.05.30
получить результат из dll


3-1083827681
leonidus
2004-05-06 11:14
2004.05.30
Как сконвертить dbf-файл в mdb-файл?


6-1081768676
Геннадий
2004-04-12 15:17
2004.05.30
Как создать вложение при отправке электронного письма? idSMTP