Есть следующая задача - открыть небольшой графический файл (64*64) и записать массив массивов цветов этих точек. Вторая часть ясна, но как прочитать информацию о пикселе?
Читал http://forum.pascal.net.ru/index.php?showtopic=4533 тему, без описания модулей трудно понять.
Возможна реализация на Дельфи.
var pic:TBitmap;
begin
pic:=TBitMap.Create;
pic.LoadFromFile('имя_файла_с_картинкой');
mas[x,y]:=pic.Canvas.Pixels[x,y];
end;
GetPixel(x, y: Integer): Word; // вернет цвет
Большое спасибо... Но я с этим в первый раз на Дельфи сталкиваюсь, возник ламерский вопрос - как собственно открыть графический файл (чтобы появилось окно проводника)? Буду очень рад ссылке на FAQ по этой теме.
Ставиш компонент OpenPictureDialog и лезеш в help
Почти со всем разобрался, спасибо за помощь.
Возникла следующая проблема:
загружаю графический файл, он появляется на экране, после нажатия кнопки с кодом:
pic:=TBitMap.Create;
pic.LoadFromFile(Fname);
Color:=pic.Canvas.Pixels[1,1];
Edit1.Text:=
inttohex(GetRValue(Color),2) +
inttohex(GetGValue(Color),2) +
inttohex(GetBValue(Color),2) ;
...
myColor:=pic.Canvas.Pixels[1,1];
Edit1.Text:=
inttohex(GetRValue(myColor),2) +
inttohex(GetGValue(myColor),2) +
inttohex(GetBValue(myColor),2) ;
...
volvo , большое спасибо. (Хотя не совсем понятно,почему локальная переменная имеет желаемое действие в отличии от глобальной)
Ещё один вопрос - почему операцией открытия графических файлов не удается открыть .jpeg файлы? Код кнопки:
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
begin
FName := OpenPictureDialog1.FileName;
Image1.Picture.LoadFromFile(FName);
end;
end;