![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Где можно посмотреть пример работы с KOLJPGImage? [Lazarus, WinCE]
Дмитрий Пырин © (2007-10-23 13:44:00)Вопрос, наверное, к создателю- Дмитрию Матвееву.
Дмитрий, не могли-бы вы выложить пример работы с KOLJPGImage ?
я пробовал по аналогии с JpegObj, но налицо явное расхождение в методах.
Vinum (2008-04-01 22:24:00) [21]сорри, торможу :)
Vinum (2008-04-01 17:54:00) [22]Вчера пробовал ImageDecompress, textout убить догадался, но когда пишу
uses ImageDecompress;
.........
Var Image:PImageDecompress;
.........
procedure TForm1.Button1Click(Sender: PObj);
begin
image:=NewImageDecompress;
image.LoadFromFile('0933333.jpg'); // когда эту строчку пишу, то вываливается с ошибкой типа не могу запуститься потому что imgdecmp.dll не найдена, переустановка приложения (какого?) может исправит проблему. Покопал в интернете, толком не нашел. Какой выход есть из данной ситуации?
XPSP2
mdw (2008-04-01 17:37:00) [23]Кстати, для информации, по поводу ImageDecompress.
При декодировании Jpeg, для некоторых картинок скорость может быть в несколько раз меньше (чуть ли не на порядок), чем у JpegImage, хотя обычно, примерно равны (небольшие отклонения в разные стороны).
При декодировании PNG, ImageDecompress обычно немного побыстрее. Остальные форматы не тестил, за ненадобностью.:)
mdw (2008-04-01 17:31:00) [24]
> Ничего не понимаю.
И что же тут непонятно? Убить нафиг модуль TextOut! :D
Дмитрий Пырин (2008-04-01 14:51:00) [25]Ничего не понимаю.
при использовании ImageDecompress компилятор выдаёт:
D:\lazarus\kol\kol\ImageDecompress.pas(67,48) Fatal: Can't find unit TextOut used by ImageDecompress
Сидор (2008-02-16 16:02:00) [26]Удивительное рядом... Поставил чекбокс не в меню - картинка появилась...
Сидор (2008-02-16 15:57:00) [27]В том-то и дело, что при первом запуске он эту галочку в главном меню не видит и ничего не рисует!
mdw (2008-02-15 17:27:00) [28]И в чем проблемма? Вот рабочий код:
....
private
FJPEGImage: PJPEGImage;
public
.....
procedure TForm1.KOLForm1FormCreate(Sender: PObj);
begin
FJPEGImage:= NewJPEGImage;
FJPEGImage.LoadFromFile('Disk.jpg');
end;
procedure TForm1.KOLForm1Paint(Sender: PControl; DC: HDC);
begin
if CheckBox1.Checked then FJPEGImage.Bitmap.Draw(DC, 0, 0);
end;
procedure TForm1.CheckBox1Click(Sender: PObj);
begin
Form.Invalidate;
end;
Сидор (2008-02-15 15:09:00) [29]Гм... А помимо OnPaint ничего похожего поставить нельзя?
Просто там ситуация такая: при запуске на форме должна быть картинка. Затем её можно будет убрать, сняв в главном меню галочку, и вернуть, поставив таковую обратно. Как реализовать, не знаю - на if MainMenu1.Items[x].Checked then ... не реагирует...
mdw (2008-02-14 15:53:00) [30]OnPaint того, на ком рисовать хотите. Например Form.OnPaint, хотя обычно PaintBox используют.
Сидор (2008-02-14 11:50:00) [31]
> У меня работает, хотя конечно нужно в OnPain рисовать.
А вот об этом я не подумал...
Тогда, получается, надо добавить код:
JPEGImage.OnPaint:= OnPaint?
mdw (2008-02-13 22:15:00) [32]Кстати, если кому нужно для КПК, я сделал чтение для BMP, GIF, JPG, PNG, XBM системными средствами, т.е. к коду практически ничего и не добавляется.
mdw (2008-02-13 22:10:00) [33]У меня работает, хотя конечно нужно в OnPain рисовать.
> И ещё: что означают второй и третий параметры?
Координаты X и Y, где рисовать.
Сидор (2008-02-13 17:03:00) [34]
> JPEGImage.Bitmap.Draw(Form.Canvas.Handle, 100, 100); //рисуем
> ее
Почему-то не помогает... Может быть, слово Form нужно заменить на что-то другое? (Но тогда на что? Form1 и KOLForm1 не проходят...)
И ещё: что означают второй и третий параметры?
Vladimir Kladov (2007-10-27 22:03:00) [35]kolmck.net
Дмитрий Пырин (2007-10-27 21:19:00) [36]где взять CxKOLTiffJpg ? в компонентах на http://kolnmck.ruего нет :(
Vladimir Kladov (2007-10-23 15:58:00) [37]И не только побыстрее. Я в него добавил возможность работать с jpeg'ами практически любого размера, не выделяя память для всей картинки. Можно получать или передавать строки пикселей для упаковки или наоборот для распаковки через событие. Сегодня проверил как раз, работает.
mdw (2007-10-23 14:00:00) [38]Кстати есть еще CxKOLTiffJpg. Он побыстрее будет. Я в основном ориентировался на Lazarus+WinCE.
mdw (2007-10-23 13:58:00) [39]Ну примерно так.
...
{$IFDEF KOLCLASSES}{$I TMainForm.inc}{$ELSE} TMainForm = object(TObj) {$ENDIF}
...
private
procedure OnProgress (Sender: PObj);
public
JPEGImage: PJPEGImage;
end;
....
procedure TMainForm.KOLForm1FormCreate(Sender: PObj);
begin
JPEGImage:= NewJPEGImage; //Создаем
JPEGImage.OnProgress:= OnProgress; //если нужно
end;
procedure TMainForm.KOLForm1Destroy(Sender: PObj);
begin
JPEGImage.Free; //разрушаем
end;
procedure TMainForm.Button1Click(Sender: PObj);
begin
try
JPEGImage.LoadFromFile('C:\!.jpg'); //Загружаем картинку
JPEGImage.Bitmap.Draw(Form.Canvas.Handle, 100, 100); //рисуем ее
JPEGImage.Bitmap.LoadFromFile('!!.bmp'); //изменяем изображение
JPEGImage.SaveToFile('!!!!!!!.jpg'); //Сохраняем jpeg
except {on E: Exception do}
ShowMessage('Error'); //Ошибка!!!!!!!!
end;
end;
procedure TMainForm.OnProgress(Sender: PObj);
begin
ProgressBar.Progress:= JPEGImage.Progress;
Applet.ProcessMessages;
// Sleep(20); //:)
end;
Еще можно поиграться опциями в JCONFIG.INC. Они соответственно могут влиять на размер еще, качество кодирования\декодирования, уровень обработки ошибок.