Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Вниз

Pbitmap.ScanLine не работает!   Найти похожие ветки 

 
Ал   (2002-11-16 23:25) [0]

Уважаемые мастера!
При использовании KOL, Pbitmap и Pbitmap.ScanLine
возникает ошибка RuntimeError 255 на операторе ScanLine.
Пробовал вместе с KOL подключить VCL Graphics и использовать Tbitmap.ScanLine – все работает.

Вот код KOL:

procedure TForm_Main.Button1Click(Sender: PObj);
var
Bitmap : PBitmap;
BitmapArray : array of PByteArray;
x, y : Integer;
begin
Bitmap := NewBitmap(0, 0);
// 24 bit.
Bitmap.LoadFromFile("bitmap.bmp");

SetLength(BitmapArray, Bitmap.Height);
for y := 0 to Bitmap.Height - 1 do
BitmapArray[y] := Bitmap.ScanLine[y];
for x := 0 to Bitmap.Width - 1 do
begin
BitmapArray[y, x*3+2] := 255;
BitmapArray[y, x*3+1] := 255;
BitmapArray[y, x*3] := 255;
end;
end;

Кто-нибудь что-нибудь подскажет?


 
Bartov   (2002-11-17 00:28) [1]

Не знай, но еще при SaveToFile начиная с 256 цветов и более -
всегда сохраняется рисунок в 16 цветах.


 
SPeller   (2002-11-17 05:00) [2]

У тебя двумерный массив BitmapArray[i,j]. Размерность по i ты задаёшь SetLength(BitmapArray, Bitmap.Height), а про вторую рамерность ты совсем забыл. На вышеуказанной строке у тебя делается массив указателей на байтовые массивы, однако сами массивы у тебя не созданы.
Один из выходов - записать в объявлениях BitmapArray : array of ТByteArray, но тогда ошибка вылезет если у тебя строка развёртки (ScanLine) будет длиннее 256 байт.


> Не знай, но еще при SaveToFile начиная с 256 цветов и более
> - всегда сохраняется рисунок в 16 цветах.

Может, это результат оптимизации? Если количество реально использованных цветов <= 16, то битмап и записывается в 16-цветном формате без потери цвета.



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2003.07.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.007 c
3-67718
Bless
2003-06-27 15:35
2003.07.21
Непонятный синтаксис


8-67920
Sword-Fish
2003-03-31 17:00
2003.07.21
Ресурсы !!!


1-67851
Sheng
2003-07-07 19:54
2003.07.21
Цвета в Делфи


7-68088
Deep
2003-04-19 05:02
2003.07.21
Проблема поиска файлов из сервиса


3-67730
niko4543
2003-06-27 23:29
2003.07.21
БД





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский