View Full Version : موقعیت یک پیکسل در تصویر BMP
ali51prog
چهارشنبه 09 خرداد 1386, 15:15 عصر
من شدیدا نیازمند برنامه ای هستم که موقعیت یک پیکسل و کد رنگ اون رو در محور X,Y
نشون بده .
مثلا موقعیت یک نقطه رنگی در یک تصویر BMP را مشخص کنه که در کدام موقعیت قرار داره .
:ناراحت:
اساتید ! لطفا کمک کنید.
DAMAVAND
چهارشنبه 09 خرداد 1386, 16:59 عصر
من شدیدا نیازمند برنامه ای هستم که موقعیت یک پیکسل و کد رنگ اون رو در محور X,Y
نشون بده .
:ناراحت:
.
نمیشه که هر دو رو با هم بدست بیاری که!!!!
باید با کمک یکی دیگری رو بدست بیاری!
یعنی یا از روی موقعیت یه پیکسل کدرنگشو بدست بیاری!!!
یا از روی کد رنگ یه پیکسل موقعیتشو بدست بیاری!!!
یه کم بیشتر توضیح بده میخوای چیکار کنی???????????????!!!!!!!!!!!!!!!
وصال1386
چهارشنبه 09 خرداد 1386, 17:53 عصر
من هم نیازمند برنامه ای هستم که موقعیت پیکسل را دریافت و کد رنگ آن را
اعلام کند و ترجیحا فرمت تصویر BMP یا PCX باشه البته اگر JPG باشه که عالیه .
منتظر یاری اساتید هستم .
Arman_1367
پنج شنبه 10 خرداد 1386, 07:56 صبح
مقال رو یه نگاه کن از فرمت Jpg اسفاده کردم.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Jpeg, ExtCtrls, StdCtrls, Spin;
type
TForm1 = class(TForm)
BtnLoad: TButton;
Image1: TImage;
OpenDialog1: TOpenDialog;
BtnGetPixelColor: TButton;
SeX: TSpinEdit;
SeY: TSpinEdit;
procedure BtnLoadClick(Sender: TObject);
procedure BtnGetPixelColorClick(Sender: TObject);
private
FJpg:TJPEGImage;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtnLoadClick(Sender: TObject);
begin
If OpenDialog1.Execute then
Begin
if not Assigned(FJpg) then
FJpg:=TJPEGImage.Create;
FJpg.LoadFromFile(OpenDialog1.FileName);
Image1.Picture.Assign(FJpg);
SeX.MaxValue:=FJpg.Width;
SeY.MaxValue:=FJpg.Height;
End;
end;
procedure TForm1.BtnGetPixelColorClick(Sender: TObject);
Var Buf:TBitmap;
begin
Buf:=TBitmap.Create;
//To Assign Jpg Image To Bmp Use This
FJpg.JPEGNeeded;//To Assign It By Bitmap Need To Use This Procedure To Decompress Data
Buf.Assign(FJpg);
//End Of Assigning
Showmessage(ColorToString(Buf.Canvas.Pixels[Sex.Value,Sey.Value]));
Buf.Free;
end;
end.
برای گرفتن رنگ به نظر من راحتترین راه تبدیل عکس به Bitmap و استفاده از Canvas.pixel[x,y] می باشد خوب شاید هم نخواهید دیگه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.