Перейти к содержанию
Fire Monkey от А до Я
  • 0

Как определить цвет пикселя?


jekans

Вопрос

Подскажите пожалуйста глупому человеку :), как можно загрузив изображение:

buf: TBitmap;
buf.LoadFromFile('.bmp');

Определить цвет нужного мне пикселя (X,Y), и нарисовать хотя бы линию этого цвета на форме используя обычный: 

Canvas.DrawLine
 
 
Ссылка на комментарий

Рекомендуемые сообщения

  • 1

В первую очередь нужно научиться пользоваться поиском.

 

Определить цвет нужного мне пикселя (X,Y)...

и нарисовать хотя бы линию этого цвета на форме используя обычный: Canvas.DrawLine

 

На всякий случай пример:

var
  C: TAlphaColor;

procedure TForm1.FormCreate(Sender: TObject);
begin
   c := TAlphaColorRec.Null;
end;

///<Summary>
/// Получение цвета пикселя
///</Summary>
procedure TForm1.Button1Click(Sender: TObject);
var
  bm: TBitmap;
  M: TBitmapData;
begin
   bm := TBitmap.Create;
   bm.LoadFromFile( 'c:\TROP002_w100h100.PNG' );

   // Получение цвета пикселя
   bm.Map( TMapAccess.Read, M );
   C := M.GetPixel( 10, 10 );
   bm.Unmap( M );

   // Принудительная перерисовка
   Invalidate;

   bm.Free;
end;

///<Summary>
/// Отрисовка линии
///</Summary>
procedure TForm1.FormPaint(Sender: TObject; Canvas: TCanvas;
  const ARect: TRectF);
begin
   Canvas.Stroke.Color := C;
   Canvas.Stroke.Kind := TBrushKind.Solid;
   Canvas.DrawLine( PointF( 0, 0 ), PointF( 100, 100 ), 1 );
end;
Ссылка на комментарий
  • 0
estra

Премного благодарен сударь!!! :)

Пример этот я видел, но увы маленько "затупил" и у меня не вышло =(

Ваш код отличный!! особенно для меня как начинающего в освоении FM.

Спасибо!

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...