如何将.dm3文件(带注释和比例尺)转换为.jpg/jpeg图像? [英] How to convert a .dm3 file (with annotation and scale bar) to .jpg/jpeg image?
本文介绍了如何将.dm3文件(带注释和比例尺)转换为.jpg/jpeg图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
image test:=IntegerImage("test",2,1,100,100)
test.ShowImage()
image frontimage:=GetFrontImage()
string filename=getname(frontimage)
imagedisplay disp = frontImage.ImageGetImageDisplay(0)
disp.applydatabar()
ImageDocument frontDoc = GetFrontImageDocument()
string directoryname, pathname
number length
if(!SaveAsDialog("","Do Not Change Me",directoryname)) exit(0)
length=len(directoryname)-16
directoryname=mid(directoryname,0,length)
pathname=directoryname+filename
frontDoc.ImageDocumentSaveToFile( "JPG Format", pathname )
推荐答案
若要转换为JPG,您必须使用"JPEG/JFIF Format"
作为handler
(=格式)。
必须正是ImageDocument.ImageDocumentSaveToFile()
函数中的此字符串。帮助中提到了其他格式(f1>;脚本>;对象>;文档对象模型>;ImageDocument对象>;ImageDocumentSaveToFile()
函数)。这些是(例如):
- ‘Gatan格式’
- ‘Gatan 3格式’
- ‘GIF格式’
- ‘bmp格式’
- ‘JPEG/JFIF格式’
- ‘增强型图元文件格式’
在您的代码中,您使用
SaveAsDialog()
来获取目录。这是没有必要的。您可以使用GetDirectoryDialog()
获取目录。这为您节省了directoryname
的命名操作,并避免了用户更改您的文件名时出现的问题。
对于连接路径,我更喜欢使用PathConcatenate()
。首先,这使您的代码更具可读性,因为它的名称告诉您正在做什么。另一方面,这还会处理是否以结尾的目录以及其他与路径相关的内容。
我认为您需要以下代码:
Image test := IntegerImage("test", 2, 1, 100, 100);
test.ShowImage();
Image frontimage := GetFrontImage();
ImageDisplay disp = frontImage.ImageGetImageDisplay(0);
disp.applydatabar();
ImageDocument frontDoc = GetFrontImageDocument();
string directoryname;
if(!GetDirectoryDialog("Select directory", "C:\\", directoryname)){
// ↑
// You can of course use something else as the start point for selection here
exit(0);
}
string filename = GetName(frontimage);
string pathname = directoryname.PathConcatenate(filename);
frontDoc.ImageDocumentSaveToFile("JPEG/JFIF Format", pathname);
这篇关于如何将.dm3文件(带注释和比例尺)转换为.jpg/jpeg图像?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文