没有人会吗?我给300分!! (100分)

  • 主题发起人 主题发起人 jslyglwd
  • 开始时间 开始时间
J

jslyglwd

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把从数据库sqlserver2000中取出的图片限制成一定大小,且显示在指定的table上或image上
在数据库中没有存储图片的大小,请问如何把图片缩小一定比例显示?
 
不是很明白楼主的意思,能说得详细些吗?
帮顶
 
显示在指定的table上或image上 是什么意思?
 
你是指文件的大小还是长宽的大小
 
老兄,你用的是BMP的格式吧?如果是JPEG格式便很好调了
 
那你去控制那个显示的“Table”和“Image”好了,
说真的想改数据太难了,
特别是自己是菜鸟和对图片知之不详的情况,
呵呵~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
我知道楼主的想法,我也试过,如果一定要将取出的图片限制成一定大小的话,在显示的时候会出现失真和扭曲,改变了原来图片的面貌,会很难看的。
 
图片的缩放
procedure TForm1.Button1Click(Sender: TObject);
var
b: TBitmap;//原图片
nb: TBitmap;//Resize以后的图片
r: TRect;
begin
b := TBitmap.Create;
if OpenDialog1.Execute then
begin
b.LoadFromFile(OpenDialog1.FileName);
nb := TBitmap.Create;
//你可以自己定义高度和宽度,这里是都变成一半
nb.Height := b.Height div 2;
//高度变为原来的一半
nb.Width := b.Width div 2;
//宽度变为原来的一半
r.TopLeft := Point(0, 0);
r.BottomRight := Point(nb.Width, nb.Height);
with nb.Canvasdo
begin
Pen.Style := psDash;
Brush.Style := bsClear;
Rectangle(0, 0, nb.Width, nb.Height);
StretchDraw(r, TGraphic(b));
end;
if SaveDialog1.Execute then
nb.SaveToFile(SaveDialog1.FileName);
nb.Free;
end;
b.Free;
end;

详细看我的笔记:
http://www.delphibbs.com/keylife/iblog_show.asp?xid=2931
 
真的太牛了,
呵呵~~~~~~~~~~~~~~
 
顯示大小還是很容易滴。改變圖片真實的大小就有點困難了。
既然要用image顯示就不用Canvas了吧。改變image大大小就可以了。前提是Ftretch:=true;
如果要在DBGrid等控件上畫畫就用樓上的方法。
 
多人接受答案了。
 
后退
顶部