我用image控件做了一个签名程序。但每次保存.bmp位图后,背景不能为透明。我现在想要的是保存的图片只有用户签的字,其他地方为透明色。这样导入word才不会遮住其他字体。哪位高手能解决?
解决方案 »
- 如何判断局域网某共享文件夹是否存在以及是否有写权限?
- 为什么用idftp get() 下载一个文件后修改日期被改成了系统当前的日期?
- 关于按枝传递和按引用传递的问题?
- 为什么我的图片有一部分打印不出来?
- oracle与sqlserver之间数据拷贝
- 求救!使用locate时报错!不知道原因
- 如何取得数据库里面的一个值???
- 连接数据库用BDE好一些,还是用ODBC好一些?
- 动态生成的窗口如何才能彻底从内存中释放?
- 关于dbgrid,很简单,各位老大帮帮忙...
- 将DBGrid设成在翻页时才进一步取数据而不会一下子把数据全取回来的属性?
- form排列,怎么实现层叠排列,水平排列,竖直排列,全部最小化?
Transparent has no effect unless the Picture property specifies a TBitmap object.
朋友的E文应该比我好,这句的意思是说如果picture的属性不指定为TBitmap对象的话,transparent属性是没用的。听别人说图片必须是jpg或GIF的
透明色为左下角那点的着色仅是听说
如果指的是抠单色,就可以用上面的方法,把Image 的Transp 的值设为TRUE
不是混合半透明,我实现了一个手写文字的功能,保存后成为图片,然后导入到word中,但是背景总是白色的,我就算在保存时候转化为jpg格式也不行。
这使我的代码:
procedure Tfrm_set.FormCreate(Sender: TObject);
var
Bitmap: TBitmap;
begin
Screen.Cursors[mycur]:=LoadCursor(hinstance,'mycur');
Bitmap := nil;
try
Bitmap := TBitmap.Create;
BitMap.PixelFormat:=pf24bit;
Bitmap.Transparent := True;
Bitmap.TransparentColor:=clWhite;
// Bitmap.TransparentMode := tmAuto;
Bitmap.Width := Image.Width;
Bitmap.Height := Image.Height;
Image.Picture.Bitmap := Bitmap;
finally
Bitmap.Free;
end;
image.Cursor:=mycur;
end;procedure Tfrm_set.saveClick(Sender: TObject);
var
jp: TJPEGImage;
begin
image.Picture.Bitmap.TransparentColor :=clWhite;
image.transparent:=true;
jp := TJPEGImage.Create;
try
jp.Assign(Image.Picture.Bitmap); // Assign the BitMap to MyJpeg object
jp.CompressionQuality:=StrToInt('75');
jp.Compress;
jp.Transparent:=true;
jp.SaveToFile('c:\yinzhang.bmp'); // Save the JPEG to Disk
finally
jp.Free;
end;