Вверх ↑
Ответов: 95
Рейтинг: 2
#1: 2013-01-29 16:34:00 ЛС | профиль | цитата
задача: сохранить несколько картинок в один файл со сжатием.
сначала планировал через BitmapArray, но он сохраняет без сжатия.
попробовал через BitmapStream. то же самое
Мой воспаленный мозг может наверно ещё кучу безрезультатных вариантов придумать. Но может кто подскажет быстрое-простое решение для экономии времени?
Пока мысли двигаются в следующих направлениях:
1. создавать временный файл либо через BitmapArray, либо через BitmapStream, затем применить какой-нибудь вариант компрессии.
2. через элемент Jpeg-doLoadFromBitmap конвертировать имеющиеся картинки в jpg и потом собирать в один файл. Вот только не пойму, куда элемент Jpeg выдаёт результат по doLoadFromBitmap?
3. ...

------------ Дoбавленo в 16.34:
неудачный пример с BitmapStream
Add(MainForm,824441,147,77)
{
Width=258
Height=215
Caption="Пример использования компонента Image"
}
Add(Image,15505491,252,63)
{
Left=10
Top=10
Width=105
Height=105
ViewStyle=5
Picture=[ZIP8600000078DA73F26D6380003320D600625628666490008B07306003FF5111857C00CF771ACE]
}
Add(Button,954460,140,175)
{
Left=60
Top=135
Width=105
Height=30
Caption="сохранить"
link(onClick,15291613:doEvent1,[])
}
Add(BitmapStream,6388194,245,175)
{
link(Stream,7236782:Var1,[(251,159)])
link(Bitmap,15505491:ImageBitmap,[])
}
Add(BitmapStream,6445429,308,182)
{
link(Stream,7236782:Var3,[(314,159)])
link(Bitmap,12095515:ImageBitmap,[])
}
Add(FileStream,9359352,280,112)
{
FileName="1.dat"
Mode=1
}
Add(Hub,15291613,189,175)
{
OutCount=4
link(onEvent1,9359352:doOpen,[(216,181)(216,118)])
link(onEvent2,6388194:doWrite,[])
link(onEvent3,6445429:doWrite,[])
link(onEvent4,9359352:doClose,[(228,202)(228,125)])
}
Add(GetDataEx,7236782,280,154)
{
link(Data,9359352:Stream,[])
}
Add(Image,12095515,315,63)
{
Left=10
Top=10
Width=105
Height=105
ViewStyle=5
Picture=[ZIP8600000078DA73F26D6380003320D600625628666490008B07306003FF5111857C00CF771ACE]
}
карма: 0

0