如何使不够图片框大小的图片调整成和图片框一样的大小再存入数据库?
在线等,急....
谢谢!

解决方案 »

  1.   

    把stretch 设置为True即可,从数据库读取图片时,同样把stretch 设置为True
      

  2.   

    在CXDBGRID里是不能这样的,还有没能其它办法?
      

  3.   

    这是JPG格式的图片哦,请给出详细的代码,谢谢啦!
      

  4.   

    没用过你说的那个cxdbgrid,
    网上有很多jpg格式图片转换成bmp格式的算法
      

  5.   

    uses
       jpeg;//jpeg转bmp
    var
      MyJpeg: TJPEGImage;
      MyBitmap : TBitmap ;
    begin
        myjpeg:= TJPEGImage.Create;
        MyBitmap:= TBitmap.Create;
        MyJpeg.LoadFromFile('c:\123.jpg');
        MyBitmap.Assign(MyJpeg);
        Image1.Picture.Bitmap:= MyBitmap;
        MyBitmap.Free;
        MyJpeg.Free;
    end;
      

  6.   

    要缩小就传Rates小于1,变大就大于1。
    procedure Zoom(Img: TImage;const Rates:single);
    var
      Bmp :TBitmap;
    begin
     try
      iScaleRate:=Round(Rates*PERCENT);
      CboScale.Text:=IntToStr(iScaleRate);
      Bmp :=TBitmap.Create;
      Bmp.Width :=Round(TifPic.Width*Rates);
      Bmp.Height :=Round(TifPic.Height*Rates);
      Img.Picture:=nil;
      Img.Picture.Bitmap.Assign(TifPic);
      StretchBlt(Bmp.Canvas.Handle,0,0,Bmp.Width,Bmp.Height,
      Img.Picture.Bitmap.Canvas.Handle,0,0,Img.Picture.Bitmap.Width,Img.Picture.Bitmap.Height,SRCCOPY);
      Img.AutoSize :=True;
      Img.Picture:=nil;
      Img.Picture.Bitmap.Assign(Bmp);
      BufferPic.Graphic:=nil;
      BufferPic.Bitmap.Assign(Bmp);
      Position := Point(0,0);
     except
       ShowMessage('You scale the picture to large! Out of memory!!');
       CboScale.Text:='100';
       iScaleRate:=100;
       Zoom(Image1,iScaleRate/PERCENT);
     end;
     Bmp.Free;
    end;