因为毕业设计需要,而我自己对于多媒体方面一直没有涉及,请各位大虾帮帮忙。

解决方案 »

  1.   

    function GetColor(const ACanvas:tCanvas;x,y:integer):TColor;
    begin
    result := ACanvas.pixels[x,y];
    end;x,y就是你要的点的位置
      

  2.   

    GetGValue(TColor),GetRValue(TColor),GetBValue(TColor)
      

  3.   

    TO:如果我想飞
    X,Y值不是我自己输入,而是想要鼠标的位置,请问怎么做?
      

  4.   

    ACanvas.pixels[x,y];指的是画布中的某个象素的颜色,Image.Canvas
    或者Image.Picture.Bitmap.CanvasGetGValue(TColor),GetRValue(TColor),GetBValue(TColor)
    这个方法还是比较简单的。
      

  5.   

    GetGValue(TColor),GetRValue(TColor),GetBValue(TColor)怎么用呢?
      

  6.   

    //这是个演示程序,你试后一定收效颇肥阿!!
    //但是,肥了后,可不要忘了给我加分啊!!
    unit Ugetcor;interfaceuses
      SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
      Forms, Dialogs, StdCtrls, ExtCtrls, Buttons;type
      Tgetcol = class(TForm)
        Panel1: TPanel;
        Label1: TLabel;
        Label2: TLabel;
        procedure FormClick(Sender: TObject);
        procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
          Y: Integer);
        procedure Panel1Click(Sender: TObject);
        procedure FormDblClick(Sender: TObject);
        procedure FormResize(Sender: TObject);
      private
        tx,ty : integer;
        procedure WMEraseBkng(var MSg:TWMEraseBkgnd);message WM_ERASEBKGND;
      public
        { Public declarations }
      end;var
      getcol: Tgetcol;
    implementation{$R *.DFM}
    const
      Digits : array[0..$F] of Char = '0123456789ABCDEF';function HexB(B : Byte) : string;
      {-Return hex string for byte}
    begin
      HexB[0] := #2;
      HexB[1] := Digits[B shr 4];
      HexB[2] := Digits[B and $F];
      //对Delphi5将上三行改为:HexB:=Digits[B shr 4]+Digits[B and $F];
    end;procedure Tgetcol.WMEraseBkng(var MSg:TWMEraseBkgnd);
    begin
         Msg.Result:=1;
    end;procedure Tgetcol.FormClick(Sender: TObject);
    var t : tcolor;
    r,g,b : byte;
    begin
    t := canvas.pixels[tx,ty];
    r := getRvalue(t);
    g := getGvalue(t);
    B := getBvalue(t);
    LABEL2.COLOR := T;
    LABEL1.CAPTION := '$00' + HEXB(R) + HEXB(G) + HEXB(B);
    end;procedure Tgetcol.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
    tx := x;
    ty := y;
    end;procedure Tgetcol.Panel1Click(Sender: TObject);
    begin
    CLOSE;
    end;procedure Tgetcol.FormDblClick(Sender: TObject);
    begin
    close;
    end;procedure Tgetcol.FormResize(Sender: TObject);
    begin
    panel1.top := height - panel1.height -1;
    panel1.left := width - panel1.width -1;
    panel1.visible := true;
    end;end.