如何将.dm3文件(带注释和比例尺)转换为.jpg/jpeg图像? [英] How to convert a .dm3 file (with annotation and scale bar) to .jpg/jpeg image?

查看:24
本文介绍了如何将.dm3文件(带注释和比例尺)转换为.jpg/jpeg图像?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道如何将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆