100分求怎么给图片加像框。通俗的说就是加个边框
最好有原代码哦

解决方案 »

  1.   

    其实就是B为底图,就是像框,A是原图,A叠加到B上,但是B的边框比A的边框稍大一点
      

  2.   

    image控件外加一个框不就可以了吗
      

  3.   

    如果是固定大小的,那么好办,可以用两个image叠加,或者按比例调整大image的大小,就可以做成你要的像框了
      

  4.   

    用两个 image 吧,一个image1装载 图像,
    image2用来显示var r: TRect;
    begin
      r.Left := 0;
      r.Top := 0;
      r.Right := image1.Width;
      r.Bottom := Image1.Height;
      Image2.Height := Image1.Height;
      Image2.Width := Image1.Width;
      Image2.Canvas.Draw(0, 0, image1.Picture.Graphic); Image2.Canvas.Pen.Width :=  5;
     Image2.Canvas.LineTo(0, r.Right);
     Image2.Canvas.LineTo(r.Right, r.Bottom);
     Image2.Canvas.LineTo(r.Bottom, r.Top);
     Image2.Canvas.LineTo(r.Top, 0);
    end;
      

  5.   

    不对啊我的意思是,IMAGE1是边框,IMAGE2是原始图,IMAGE2在IMAGE1前面,IMAGE2小比IMAGE1小一圈,这样才像像册
      

  6.   

    用Canvas去画吧。象aiirii(ari-爱的眼睛) 的一样
      

  7.   

    图象叠加处理:
    procedure DrawTransparent(var sBmp: TBitMap; dBmp: TBitMap; PosX, PosY: Integer; TranColor: TColor = -1);
    type
      PRGBTripleArray = ^TRGBTripleArray;
      TRGBTripleArray = array[0..32767] of TRGBTriple;
      function GetSLCOlor(pRGB: TRGBTriple): TColor;
      begin
        Result := RGB(pRGB.rgbtRed, pRGB.rgbtGreen, pRGB.rgbtBlue);
      end;
    var
      b, p: PRGBTripleArray;
      x, y: Integer;
      BaseColor: TColor;
    begin
      sBmp.PixelFormat := pf24Bit;
      dBmp.PixelFormat := pf24Bit;
      p := dBmp.scanline[0];  if TranColor = -1 then
        BaseCOlor := GetSLCOlor(p[0])
      else
        BaseCOlor := TranColor;  if (PosY > sBmp.Width) or (PosY > sBmp.Height) then
        Exit;  for y := 0 to dBmp.Height - 1 do
      begin
        p := dBmp.scanline[y];
        b := sBmp.ScanLine[y + PosY];
        for x := 0 to (dBmp.Width - 1) do
        begin
          if GetSLCOlor(p[x]) <> BaseCOlor then
            b[x + PosX] := p[x];
        end;
      end;end;procedure TForm1.Button1Click(Sender: TObject);
    var
      bmp:TBitMap;
    begin
      bmp:=TBitMap.Create ;
      bmp.Assign(Image1.Picture);
      DrawTransparent(bmp,Image2.Picture.Bitmap ,10,10);
      image1.Picture.Assign(bmp);
      image1.Refresh ;end;
      

  8.   

    楼上的,出错了
    系统报错
    Can not assign a Tpicter to a Tbitmap
      

  9.   

    晕啊。一个简单的BrushCopy()就能做到透明叠加了。参数的最后一个就是要透明的颜色了