虚拟打印的实现-EMF转换成BMP
var
SearchRes : TSearchRec;// 查找文件的结构
nFound, i : Integer;
EMF:TMetaFile;
reg : TRegistry;
m_DestDir:String;
m_BmpDestFile:String;
DivNum,ModNum:integer;
BmpNum,BmpWidth:Integer;//定义BMP的显示位数和显示宽度
JudgeWidth:Integer;//定义BMP图是否限制宽度
begin
//初始化BMP文件的宽和显示位数。
BmpWidth:=832;
JudgeWidth:=1;
nFound := FindFirst(m_DestDir+'\*.emf', faAnyFile, SearchRes);
while nFound = 0 do
begin
//转换开始将EMF文件装换成BMP文件
EMF:=TMetaFile.Create;
Temp:=Tbitmap.Create();
case BmpNum of
1:
begin
Temp.PixelFormat:=pf1bit;
end;
4:
begin
Temp.PixelFormat:=pf4bit;
end;
16:
begin
Temp.PixelFormat:=pf16bit;
end;
24:
begin
Temp.PixelFormat:=pf24bit;
end;
32:
begin
Temp.PixelFormat:=pf32bit;
end;
end;
try
EMF.LoadFromFile(m_DestDir+'\'+SearchRes.Name);
if JudgeWidth=0 then
begin
temp.Width:=emf.Width;
end
else
begin
if emf.Width<BmpWidth then
begin
DivNum:=emf.Width div 32;
ModNum:=emf.Width mod 32;
if ModNum>16 then
begin
Inc(DivNum);
end;
temp.Width:=DivNum * 32;
end
else
begin
temp.Width:=BmpWidth;
end;
end;
temp.Height:=emf.Height;
temp.Canvas.Draw(0,0,emf);
m_BmpDestFile:=Copy(SearchRes.Name,0,strlen(Pchar(SearchRes.Name))-4);
temp.SaveToFile(m_DestDir+'\'+m_BmpDestFile+'.bmp');
//删除Emf文件
DeleteFile(m_DestDir+'\'+SearchRes.Name);
finally
temp.free;
emf.free;
end;
nFound := FindNext(SearchRes);
end;
FindClose(SearchRes);
Result:=true;
end;
转载于:https://blog.51cto.com/fxh7622/50182
虚拟打印的实现-EMF转换成BMP相关推荐
- Jpeg文件格式转换成bmp文件格式
Jpeg文件格式转换成bmp文件格式为了简单,我将jpg图片原文件和转换后的bmp文件都直接存到内存的数组,这样不会涉及文件操作.将jpg文件转换成数组,并将数组存到文件中方便编译调用,我用的是C库文 ...
- 将HBITMAP转换成BMP位图文件的各个部分,可以在1BIT,4BIT,8BIT,16BIT,24BIT,32BIT之间转换
VC将HBITMAP转换成BMP位图文件的各个部分,可以在1BIT,4BIT,8BIT,16BIT,24BIT,32BIT之间转换 http://blog.ednchina.com/wxleasyla ...
- pdf转换成html后打印不清晰,图片转换成pdf后很模糊不清晰怎么办?
在日常工作中,我们常遇到需要将文件转化为pdf,方便打印和保存,但是原始文件很清晰,转化之后发现模糊不堪,不能直视,怎么办呢,既然原始文件是清晰的,那么肯定是哪里出了问题,下面道来: 方法/步骤 1. ...
- Python图片操作-psd_tools:将psd文件转换成BMP
§01 转换psd文件 psd文件是Phtoshop图片格式,使用Python的库psd-tools将它进行转换.最近由逐飞科技提供的 第十六届智能汽车竞赛AI视觉组分赛区数据集 所有的图片输出的 ...
- 二进制图片转换成BMP位图(C++)
void saveBitmap() { //一个586*586的二进制图片 const int height = 586; const int width = 586; //新生产bmp图片数据块总大 ...
- 如何把 AI 格式的文件转换成 BMP或者JPEG?
简 介: 本文给出了将 AI 格式转换成JPEG的方法,经过测试可以看到,在 ZAMZAR 网站, Convertio网站提供的在线转换都获得的不错测结果.但是寻找 Python 转换 AI 文件的方 ...
- 怎么把图片转换成BMP格式
1.选择要进行格式的图片,双击,进入[Windows照片查看器]2.点击[打开]选项,选择[画图],进入图片编辑窗口3.点击[选择],再在图片上选择要裁剪的区域,再点击[裁剪] 4.裁剪后,如果图片不 ...
- 如何将JPG格式图片转换成BMP格式
从Win7的开始菜单里打开系统自带的"画图"工具 在画图工具里打开我们需要转换的图片:首先单击如图所示的白色倒三角符号,然后在出现的菜单里单击"打开",然后选择 ...
- bmp文件格式_一次性解决CAD转换成BMP格式图片的问题
关于BMP格式图片,可能很多小伙伴都遇到得比较多,但在这里还是稍微解释一下吧. 它是Windows操作系统中的标准图像文件格式,大家都知道BMP格式的图片都非常大,那是因为它没有经过任何压缩. 当然, ...
最新文章
- 孩子数学成绩不好怎么办_孩子数学成绩不好,家长可以这样做
- 数据挖掘领域十大经典算法
- 计算机电力英语翻译,电力专业英语阅读与翻译..doc
- java8--IO(java疯狂讲义3复习笔记)
- sqlite 按拼音排序
- Python解决模块无法引用问题之pymysql模块导入
- redhat 阿里镜像
- LINQ 学习笔记8
- yii2 引入第三方类库
- (使用python+adb)能实现王者荣耀自动刷金币?
- 某电子计算机有400个终端,(第四章)大数定率与中心极限定理习题.doc
- 抢票(python)
- sql string转为日期_SQL之变身Excel(二)
- 2017,越努力才能越幸运
- mysql 面试题 查出每门课程成绩都不低于80分同学的名字
- 【汇总】Maven常用依赖包 (持续更新...)
- C#得到10000以内素数
- gitlab-ce安装及汉化
- 回深圳后三次面试总结
- ANSYS中各个单元的思考和分析(杆和梁)