안녕하세요!! 캐리어입니다.
TImage에서 TColor를 얻고 싶어서 아래와 같이 하였는데요
BMP 파일은 Color의 값을 구하는데 이상이 없습니다.
그런데 JPG 파일은 Error가 나더군요.
BITMAP만 Pixel을 얻을 수 있다고 나오는데 방법이 없을까요?
procedure Tform1.button1Click(Sender: TObject);
var fn, ext: string;
begin
if (OpenDialog1.Execute) then
begin
fn := OpenDialog1.FileName; // 파일이름 얻기
ext:= copy(fn,length(fn)-2,3); // 확장명만 분리
fe := UpperCase(fe); // 대문자로 바꿈
if (fe = 'JPG') or (fe = 'BMP') then begin
image1.Picture.LoadFromFile(fn); // Image 부르기
image1.visible;
end;
end;
procedure Tform1.image1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var RGB_Value : TColor;
R_Value : integer;
G_Value : integer;
B_Value : integer;
begin
if (Button = mbRight) then
RGB_Value := GetPixel(image1.Canvas.Handle,x,y);
R_Value := GetRValue(RGB_Value);
G_Value := GetGValue(RGB_Value);
B_Value := GetBValue(RGB_Value);
form1.Caption := ' R:' + IntToStr(R_Value)
+ ' G:' + IntToStr(G_Value)
+ ' B:' + IntToStr(B_Value);{}
end;
end;
아시는 분 부탁좀 드리겠습니다.
부천에서 캐리어가 드림.
|