Рисунки БОЛЬШИХ размеров
на форме лежит TImage, на нем надо рисовать рисунки БОЛЬШИХ размеров, а затем сохранять их в .ВМР и желательно в .JPEG формате.
Делаю так:
Image.SetBounds(0,0,6000,2000);
Image.Picture.Graphic:= TBitmap.Create;
Image.Picture.Graphic.Width:= 6000;
Image.Picture.Graphic.Height:=2000;
Выскакивает инвалид "EOutOfResource" так как он потомок "EOutOfMemory", делаю вывод: мало памяти, а нужен еще больший размер рисунка. Подскажите как с этим бороться?
И еще, может глупый вопрос, но как сохранить один рисунок и в .ВМР и в .JPEG форматах?
Как-то давно я испытывал tbitmap на прочность и оказалось, что картинки размерами что-то типа 2043х2043 - это предел для него. Все (мне кажется все без исключения) графические редакторы хранят изображение в памяти, выводят на экран его сами и конечно, сами сохраняют в разных форматах. Что касается последнего пункта, то можно достать где-нить dll-ки, чтобы сохранить в jpeg или bmp формате. Реализация вывода изображения и хранение его в памяти - это уже рутинная работа и зависит от того, что ты хочешь видеть на экране.
Вроде читал в книге по Дельфям, там говорилось что можно это сделать с помощью свапа на диске... но точно не помню...
Цитата:
On 2002-03-25 2055, solo wrote
...как сохранить один рисунок и в .ВМР и в .JPEG форматах?
посмотри в хелпе TJpegImage, там буквально четыре строчки надо написать, это стандартный компонент.
Кажется, так
var
jpegCopy TJpegImage;
begin
jpegCopy = TJpegImage.Create;
try
with jpegCopy do
begin
Assign(Image1.Picture.Bitmap);
SaveToFile(afilename);
end;
finally
jpegCopy.Free;
end;{try}
end;