Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Получения цвета пикселей

347
02 декабря 2007 года
Maniak
319 / / 05.11.2005
как можно получить цвет пикселя с заданными координатами?
вот есть код(загружаю картинку в image):
 
Код:
if opendialog1.Execute then begin
Image2.Picture.Graphic:=nil;
Image2.Picture.LoadFromFile(opendialog1.FileName);
if Image2.Picture.Graphic is TJPEGImage then
begin
TJPEGImage(Image2.Picture.Graphic).Scale:=TJPEGScale(0);
TJPEGImage(Image2.Picture.Graphic).Performance:=jpBestSpeed;
end;
end;

а патом пытаюсь получить цвет:
 
Код:
var x:TColor;
...
x:=image1.Picture.Bitmap.Canvas.Pixels[10,20];
panel1.Color:=x;

но вместо цвета который нужен почемуто всегда получаем черный цвет...
плюс еще наблюдается странный глюк - после нажатию на кнопку с анным кодом картинка в image1 пропадает...
и палучить надо не в формате TColor а так что б потом с полученым цветом можно было работать, ну это наверное имеется ввиду RGB формат цвета.
261
02 декабря 2007 года
ahilles
1.5K / / 03.11.2005
вроде так надо делать:
x:= image1.Canvas.Pixels[10,20];

TColor to RGB
 
Код:
function GetRGB(Color: TColor): string;
begin
  result := IntToHex(GetRValue(ColorToRGB(Color)), 2) +
    IntToHex(GetGValue(ColorToRGB(Color)), 2) +
    IntToHex(GetBValue(ColorToRGB(Color)), 2);
end;
347
02 декабря 2007 года
Maniak
319 / / 05.11.2005
 
Код:
x:= image1.Canvas.Pixels[10,20];

на код выше пишет следующее: can only modify an image if it contains a bitmap.
может еще какнибудь можно?
5.3K
03 декабря 2007 года
Somebody
185 / / 24.12.2006
Image1.Picture.Bitmap.Canvas.Pixels[10,20]; - это самый логичный метод. Но он не работает. Когда дело доходит до Windows.GetPixel, оказывается, что цвет пикселя берётся с DC с нулевым хэндлом. В некоторый момент времени появляется Canvas, у которого все параметры неверные. Поэтому, наверное, цвет пикселя лучше сразу брать с помощью Win API функции GetPixel.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог