仅供个人学习
1.通用打印
System.Diagnostics.Process.Start("mspaint.exe", "/pt d:\\screenshots\\sample.jpg");
//"mspaint.exe"表示画板程序。
//"d:\\screenshots\\sample.jpg"表示图片的绝对路径。
注意这里是调用本机的画图程序
所以unity打印的图片如果是1080*1920的话就会出现一些问题 。如下图
2.这时候就要考虑一下其他方法,我这里是找了个插件(LCPrint)。
Print.PrintTexture(texture2D.EncodeToPNG(), 1, “”);// 打印的图片,拷贝次数,图片名
Print.PrintTextureByPath("D:\\pic.png", 1, “”);//打印指定路径的图片 ,拷贝次数,图片名
用这个方法的话,打印的照片尺寸要跟打印机的匹配,如果不匹配会报错:
paper size of pinter driver and indribbon type do not match.
品特驱动器的纸张尺寸与印带式不匹配
3.使用win自带软件
该方法出自https://blog.csdn.net/qq_42855293/article/details/81981308
public void MyPrint()
{
string path = Application.dataPath + @"\Textures\002.png,0,0,750,400";//图片路径 + 将图像调整为750×400点(计算:750mm/28.346 px/cm=529点,400mm/28.346 pm/cm=352点)
string exepath = Application.streamingAssetsPath + @"\PrintImage.exe";//这个是需要下载的应用直接放到电脑上就行(调用打印机打印图片应用的路径)
ProcessStartInfo info = new ProcessStartInfo(exepath);//指定启动进程时使用的一组值
info.Arguments = path;//获取或设置启动应用程序时要使用的一组命令行自变量
using (Process p=new Process())
{
p.StartInfo = info;
p.Start();
}
}