Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

Помогите разобраться со Scanline   Найти похожие ветки 

 
real_dimedrol ©   (2003-02-15 12:40) [0]

Кому не лень, помогите разобраться в методе Scanline. Указатель на массив чего он возвращает? Если бы это были элементы типа TColor то приведенный ниже фрагмент показал бы равные значения count1 и count2, но тут что-то не так просто, а в чем именно дело я понять не могу. Итак:

procedure TForm1.Button1Click(Sender: TObject);

type arr=array[0..1200] of longint; parr=^arr;

var h:tbitmap;i,j:integer;mat:parr;count1,count2:longint;

begin
count1:=0;
count2:=0;
h:=tbitmap.create;
h.loadfromfile("noname.bmp");//Это любой рисунок, содержащий черные пикселы
//Сканируем рисунок методом Scanline
for i:=0 to h.height-1 do
begin
mat:=h.ScanLine[i];
for j:=0 to h.width-1 do
if mat[j]=0 then inc(count1);
end;
//Проверяем массив Pixels
for i:=0 to h.width-1 do
for j:=0 to h.height-1 do
if h.canvas.pixels[i,j]=0 then inc(count2);
showmessage(format("При помощи метода Scanline обнаружено %d черных пикселов, в массиве Pixels их %d",[count1,count2]));
h.free;
end;


 
MBo ©   (2003-02-15 15:22) [1]

pixels преобразует координаты в цвет, возврашая TColor, а
Scanline просто дает указатель на строку развертки Bitmap, а вот интерпретировать данные нужно самому - это зависит от цветового формата, для 256-цветного режима каждый байт представляет 1 точку и т.д.


 
Mihey   (2003-02-15 18:13) [2]

Ссылка на DOC с вольным переводом статьи по Scanline, там немного незакончено, но основнаой объём переведён. Скачать можно отсюда:

www.hot.ee/mvps3/scanline.zip



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

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
1-94922
Holy
2003-05-17 16:03
2003.05.29
Как провести перекодировку из UTF-7 ?


1-94810
OlegM
2003-05-19 11:48
2003.05.29
Как удалить из StringList последние два символа


14-95102
Домарощинер
2003-05-11 19:31
2003.05.29
Просмотр и редактирование файлов *.dbf


14-95118
Vlad Oshin
2003-05-12 16:07
2003.05.29
о Проге Секретарь в комплекте к принтеру HP LJ1000a


3-94739
foxsi
2003-05-09 20:29
2003.05.29
нумерация