Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 02.02.2020, 06:49
Nikita4 Nikita4 вне форума
Прохожий
 
Регистрация: 22.12.2018
Сообщения: 13
Версия Delphi: Delphi 14
Репутация: 10
По умолчанию Как определить цвет пикселя на картинке?

На форме TImage, добавлена картинка.

Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, pngimage, ExtCtrls, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
  Color: TColor;  
begin
  Image1.Picture.LoadFromFile('1.png');
  Color:=Image1.Picture.Bitmap.Canvas.Pixels[10,10];
  Showmessage(inttostr(Color));
end;

end.

Ответить с цитированием
  #2  
Старый 02.02.2020, 19:34
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 636
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Вам ColorToString() надо?
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #3  
Старый 03.02.2020, 06:40
Nikita4 Nikita4 вне форума
Прохожий
 
Регистрация: 22.12.2018
Сообщения: 13
Версия Delphi: Delphi 14
Репутация: 10
По умолчанию

Выводит цвет рисунка bmp,но не в HEX.
Код:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, pngimage, ExtCtrls, StdCtrls;

type
  TForm2 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Image1: TImage;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
  Color: TColor;
  bmp: TBitMap;  //для конвертации из png в bmp
begin
  //для конвертации из png в bmp---------------------------
  Image1.Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + '1.png');
  bmp := TBitMap.Create;
  bmp.Assign(Image1.Picture.Graphic);
  bmp.SaveToFile('1.bmp');
  bmp.Free;
  //-------------------------------------------------------
  Image1.Picture.LoadFromFile('1.bmp');
  color:=Image1.Picture.Bitmap.Canvas.Pixels[5,1];
  Label1.Caption:=IntToStr(color);//выводим  в шестнадцатиричном числе 
end;
end.

Как его в Hex преобразовать?

Последний раз редактировалось Nikita4, 03.02.2020 в 07:29.
Ответить с цитированием
  #4  
Старый 03.02.2020, 08:29
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 636
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Yandex/Google: Delphi color to HEX - на каждой странице решение. Например так
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #5  
Старый 03.02.2020, 09:11
Nikita4 Nikita4 вне форума
Прохожий
 
Регистрация: 22.12.2018
Сообщения: 13
Версия Delphi: Delphi 14
Репутация: 10
По умолчанию

Так проще:
ShowMessage(IntToHex(16777215, 1));//перевод из 16-го в HEX

Только вместо цвета 990082 наоборот 820099 показывает

dr. F.I.N. , спасибо за ответы.

Последний раз редактировалось Nikita4, 03.02.2020 в 09:47.
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:11.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2020

ВКонтакте   Facebook   Twitter