Страница 1 из 2
Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 12 апр 2007, 16:02
familytree
Столкнулся с тем, что максимальный TImage 64Мб или
TImage.Height * TImage.Width не более 21475000 пикселей.
Надо рисовать и просматривать на канве рисунки больше чем 64 Мб.
Как обойти или изменить столь досадный факт?
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 12 апр 2007, 16:13
Absurd
MapViewOfFile() + StretchDIBitsToDevice()
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 12 апр 2007, 16:15
Nikoshka
familytree,
Можно использовать Bitmap, а на Image выводить все как на "камеру".
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 12 апр 2007, 16:16
somewhere
Что-то я не понял?
Код: Выделить всё
procedure TForm1.BitBtn1Click(Sender: TObject);
var b : TBitmap;
begin
b := TBitmap.Create;
b.Width := 8192;
b.Height := 8192;
b.PixelFormat := pf24bit;
Image1.Picture.Bitmap := b;
end;
Выделено 192М памяти, кол-во пикселей - 64М. Все рисуется... никаких проблем...
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 12 апр 2007, 17:29
familytree
Спасибо, все идеи хороши!
Поэксперементирую..
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 12 апр 2007, 17:47
familytree
Мда.. функция MapViewOfFile() ОК! но примеров как ею пользоваться в инете не нашел.. А жаль..
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 12 апр 2007, 19:22
familytree
somewhere писал(а):Что-то я не понял?
Код: Выделить всё
procedure TForm1.BitBtn1Click(Sender: TObject);
var b : TBitmap;
begin
b := TBitmap.Create;
b.Width := 8192;
b.Height := 8192;
b.PixelFormat := pf24bit;
Image1.Picture.Bitmap := b;
end;
Выделено 192М памяти, кол-во пикселей - 64М. Все рисуется... никаких проблем...
Не тут то было. Delpi 6 пишет "Недостаточно памяти для обработки команды"
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 13 апр 2007, 08:48
somewhere
Может у тебя оперативки мало, либо она вся используется?
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 13 апр 2007, 11:14
familytree
Да оперативки та немного 196 Мб, но я думаю может причина в Windows 2000.
Вспоминаю когда стояла XP вроде не было такой проблеммы..
Что скажешь?
Re: Как увеличить максимальный объем TImage больше 64Мб
Добавлено: 13 апр 2007, 11:48
Absurd
familytree писал(а):Мда.. функция MapViewOfFile() ОК! но примеров как ею пользоваться в инете не нашел.. А жаль..
http://msdn2.microsoft.com/en-us/library/aa914748.aspx
http://msdn2.microsoft.com/en-us/library/aa914405.aspx