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

Вниз

Помогите разобраться со 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 вся ветка

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

Наверх





Память: 0.45 MB
Время: 0.009 c
3-94686
Oleg_Em
2003-05-07 11:19
2003.05.29
Доступ к paradox без BDE или ODBC


8-94973
Fast
2003-02-13 12:58
2003.05.29
TChart Axis Flip


1-94822
Novichok_
2003-05-19 13:23
2003.05.29
Как мне передать значение переменной из одной формы в др.


14-95014
xman
2003-05-13 10:44
2003.05.29
Кто-то знает как


1-94966
User
2003-05-18 12:16
2003.05.29
Any Key для консольного приложения





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский