Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
Вниз
Как запихнуть BMP в PNG? Найти похожие ветки
← →
Ezorcist (2007-06-19 22:41) [0]Будте добры, подскажите ))
← →
oxffff © (2007-06-19 22:52) [1]GDI+
CONST
BMP_CLSID:TGUID="{557CF400-1A04-11D3-9A73-0000F81EF32E}";
PNG_CLSID:TGUID="{557CF406-1A04-11D3-9A73-0000F81EF32E}";
Var
Bitmap:TGPBitmap;
.....
Bitmap.Save("MY.PNG",PNG_CLSID);
← →
oxffff © (2007-06-19 22:53) [2]GDI+ API }
{ }
{ home page : http://www.progdigy.com }
{ email : hgourvest@progdigy.com
← →
homm © (2007-06-19 22:58) [3]GDI+ кривая тормознутая библиотека. есть и другие способы, более быстрые.
← →
oxffff © (2007-06-19 23:01) [4]
> homm © (19.06.07 22:58) [3]
> GDI+ кривая тормознутая библиотека. есть и другие способы,
> более быстрые.
Да ну. Ты пробовал?
XP тоже тормозит?
← →
oxffff © (2007-06-19 23:07) [5]to homm
Да и в анкете поправь свой Assambler
← →
Efir © (2007-06-19 23:33) [6]
> GDI+ кривая тормознутая библиотека. есть и другие способы,
> более быстрые.
DrawImage вполне быстро работает, а с прозрачностью, так быстрей GDI раза в 2, но вот вывод обычных примитивов действительно медленнее.
← →
homm © (2007-06-20 07:57) [7]> Да ну. Ты пробовал?
> XP тоже тормозит?
Не надо принимать на свой счет. Я знаю что говорю.
← →
Sapersky (2007-06-20 15:02) [8]Кстати, как задать степень сжатия png в GDI+?
← →
Sapersky (2007-06-20 16:58) [9]Похоже, что никак.
Пробовал
Params.Count := 1;
Params.Parameter[0].Guid := EncoderQuality;
Params.Parameter[0].NumberOfValues := 1;
Params.Parameter[0].Type_ := ULong(ptLong);
Params.Parameter[0].Value := @Quality; // 0..100
GdipSaveImageToFile(Bitmap, PWideChar(wName), Encoder, @Params);
Для jpeg работает, для png нет.
Сравнивал с KOLPng с минимальным уровнем компрессии (CompressionLevel := 1). Такое ощущение что GDI+ пытается подстраивать уровень сжатия под конкретную картинку. Однако эффект от этой адаптивности часто противоположный - на 3 картинках из 4-х размер у GDI+ получился больше (на 10-30%). Скорость на тех же 4-х картинках - 2 на 2, можно сказать ничья.
В общем, особой кривости в GDI+ не заметил, хотя она немного проигрывает KOLPng (при сохранении, с загрузкой вопрос пока неясный).
← →
Ezorcist (2007-06-20 18:08) [10]А если в гиф?
← →
Ezorcist (2007-06-20 18:50) [11]Нашел:
procedure convertbmp2gif;
var
bmp: tbitmap;
begin
with tgifimage.create do
try
bmp := tbitmap.create;
try
bmp.loadfromfile("mybitmap.bmp");
assign(bmp);
finally
bmp.free;
end;
savetofile("mybitmap.gif);
finally
free;
end;
end;
Но никак не могу найти где объявлен класс tgifimage?
← →
oxffff © (2007-06-20 19:38) [12]
> homm © (20.06.07 07:57) [7]
> > Да ну. Ты пробовал?
> > XP тоже тормозит?
>
> Не надо принимать на свой счет. Я знаю что говорю.
Ты писал?
Где факты?
Медленнее относительно чего?
и т.д.
← →
Ezorcist (2007-06-20 20:05) [13]так все таки что на счет гифа посоветуете?
← →
homm © (2007-06-20 22:15) [14]> Где факты?
У тебя под носом, нужно только желаение их получить.
← →
Sapersky (2007-06-20 22:52) [15]А если в гиф?
Не надо в гиф. Никаких преимуществ кроме анимации у него нет.
← →
oxffff © (2007-06-21 13:39) [16]
> homm © (20.06.07 22:15) [14]
> > Где факты?
>
> У тебя под носом, нужно только желаение их получить.
Скажи конкретно, что, где и как?
фимилии, адреса, явки.
А так это только твое IMHO.
← →
homm © (2007-06-21 14:07) [17]> [16] oxffff © (21.06.07 13:39)
> Скажи конкретно, что, где и как?
> фимилии, адреса, явки.
> А так это только твое IMHO.
Ну сам напросился :)
http://delphimaster.net/view/11-1178000222/Vladimir Kladov (02.05.07 16:00) [2]
Насчёт GDI+: есть у меня Tiff-изображение, чертеж 25000х11000, монохромное. Gdi+ выделяет 1Гб памяти и мурыжит его минут 5 как минимум (если в компе только 512М, пусть даже он 3,2ГГц с гипертредингом - больше 10 минут). На базе CxImage - 0.2 секунды, и все готово.
← →
Sapersky (2007-06-21 16:57) [18]ИМХО, обычный пользователь с TIFF имеет дело крайне редко (мне вот один раз за 5 лет пришлось - прислали скан), тем более такого размера.
Если программа рассчитана на постоянную работу с такими картинками, понятно что лучше использовать специализированную библиотеку. Но для опциональной поддержки "раз в 5 лет пригодится" GDI+ самое то.
← →
oxffff © (2007-06-21 18:31) [19]
> Ну сам напросился :)
Ты говорил о всей GDI+. Дословно
>homm © (19.06.07 22:58) [3]
>GDI+ кривая тормознутая библиотека. есть и другие способы, более быстрые.
Vladimir Kladov? Этот человек официальный тестер?
Где указаны параметры окружения и настройки.
Да и сам подумай, разница более чем 1500 раз очень сомнительна.
Ты пойми, что если GDI+ и проигрывает в tiff, то тебе нужно сказать
GDI+ непригодна для оперативного конвертирования больших изображений.
Вообщем ты понял надеюсь.
P.S. Если есть ссылки в инет на тормознутость GDI+ при конвертировании с реальным кодом, то буду рад их посмотреть. Заранее благодарен.
← →
Инс (2007-06-21 19:47) [20]По сути вопроса: Я предпочитаю GDI+, хотя можно заглянуть еще и сюда:
> CONST
>
> BMP_CLSID:TGUID="{557CF400-1A04-11D3-9A73-0000F81EF32E}";
>
>
> PNG_CLSID:TGUID="{557CF406-1A04-11D3-9A73-0000F81EF32E}";
>
Я бы так делать не стал, так как в ругой версии библиотеки GUIDы могут поменяться. Для получения идентификаторов кодеров/декодеров есть специальные функции.
← →
Инс (2007-06-21 19:47) [21]ой, "заглянуть сюда" написал, а ссылку не дал :)
http://pngdelphi.sourceforge.net/
← →
oxffff © (2007-06-21 20:28) [22]
> Я бы так делать не стал, так как в ругой версии библиотеки
> GUIDы могут поменяться. Для получения идентификаторов кодеров/декодеров
> есть специальные функции.
Зачем GUIDу меняться?
>Для получения идентификаторов кодеров/декодеров есть специальные >функции.
Они естественно и используються для получения поддерживаемых GUIDов.
← →
oxffff © (2007-06-21 20:29) [23]используються=используются
← →
homm © (2007-06-21 21:52) [24]> Vladimir Kladov? Этот человек официальный тестер?
Зачем чушь нести?
> Да и сам подумай, разница более чем 1500 раз очень сомнительна.
Мне нет. См. [3].
> Если есть ссылки в инет на тормознутость GDI+ при конвертировании с реальным кодом
Подставляй ладоши
http://www.xaraxtreme.org/about/performance.html
http://rsdn.ru/article/gdi/gdiplus1.xml
(качаем «Демонстрационное приложение на C++», открываем Help—About, перемещаем окошко поверх основной формы, дивимся «кривости и тормознутосити»©.)
http://rsdn.ru/article/gdi/gdiplus2mag.xml#ECLAE
http://contest2005.gotdotnet.ru/Request/Tools/UtilitiesLib/185927.aspx
Ну че, на третью страницу гугла пойдем, или так уже хватит?
← →
oxffff © (2007-06-21 22:15) [25]Вот это уже другой разговор.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.045 c