时间:2021-05-20
本文实例为大家分享了Unity打印机打印图片的具体代码,供大家参考,具体内容如下
1、调用打印机首先就是要配置好打印机
就是电脑跟打印机已经连接好,有默认的打印机可以启动使用
2、调用方式
(1)使用外部第三方软件exe
代码如下:(就两句)
string path = Application.dataPath + @"\Textures\002.png"; System.Diagnostics.Process.Start("mspaint.exe", path);//调用第三方应用去打印(其中path是要打印图片的路径,而mspaint.exe是调用Windows中的画板,然后从画板里启用打印功能)(2)使用win自带软件
这个需要下载一个应用(应用会放在我的博客下载文件中名字是PrintImage.exe)
然后直接上代码:
(3)自己进行打印
/// <summary> /// 打印 /// </summary> public void PrintFile() { PrintDocument pri = new PrintDocument(); pri.PrintPage += Printpagetest; pri.Print(); } private void Printpagetest(object sender, PrintPageEventArgs e) { try { System.Drawing.Image image = System.Drawing.Image.FromFile(printPath); System.Drawing.Graphics g = e.Graphics; g.TranslateTransform(_4AHeight, 0); g.RotateTransform(90); g.DrawImage(image, 0, 0, _4AWidth, _4AHeight); } catch (Exception ee) { Debug.LogError(ee.Message); } }(这里的第三种我还未进行测试,如出现错误无法实现请指正)
这里我选择的是第二种,1不好实现静默,3太麻烦,2使用是后台调用命令行
3、颜色问题
同时这里本人还找到了有博主自己写的调用打印机方法
项目中需要用到调用打印机打印图片,原本觉得会很复杂,结果一搜索发现Assetstore有相应的插件。在网上找到别人分享的插件,完美的实现了功能,所以现在也来分享一下(因为想看到具体实现,所以用工具反编译了DLL,原本插件是直接导入就可以的)。
这是实现功能的源码。调用方法如下:
using UnityEngine;using System.Collections;using System.Diagnostics;using System;using System.IO;using LCPrinter;using UnityEngine.UI;public class LCExampleScript : MonoBehaviour { public Texture2D texture2D; public string printerName = ""; public int copies = 1; public InputField inputField; public void printSmileButton() { Print.PrintTexture(texture2D.EncodeToPNG(), copies, printerName);//打印一张编辑器中的图片 } public void printByPathButton() { Print.PrintTextureByPath("D:\\pic.png", copies, printerName);//打印一张存在指定路径的图片 }}由于原本插件是添加好引用的,反编译之后缺少了引用,所以要去统一的安装路径E:\ unity5.3.2 \统一\编辑\数据\单声道\ lib中\单\ 2.0(这是我本地安装的路径)中找到System.Drawing.dll程序程序放入项目中的插件下。如在VS中报错没有添加引用,则要对项目添加引用
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
打印机打印图片没反应的原因有: 1、可能是打印机不支持打印图片,此时则需换个能打印图片的打印机; 2、可能是连接问题,在开始中设置,看看打印机与传真机中的打
打印机无法打印图片是因为系统的卡顿造成了打印机无法打印图片,这个问题的解决方法就是尝试着重新启动打印机。也可能是设置问题,如果打印机不是默认打印机,也会造成无法
打印机打不出图片的原因:打印机没有安装好、打印机型号选择不正确、图片太大,可以关闭打印机,再重启重新打印。网络打印机要接入网络,一定要有网络接口,目前有两种接入
激光打印机有彩色打印机,激光打印机分为黑白激光和彩色激光。一般黑白激光打印机,就只能打黑白的文档之类的,彩色激光打印机一般就用于有图片需求的打印。 激光打印机
打印机打印图片总是出现另存为的原因有: 1、一般的原因是默认打印机选错了,可能是安装了仿真打印机(虚拟打印机); 2、还有一种可能就是打印机的端口选择了文件