unity 中打印照片的四种方法

方法一:使用LCPrinter插件

       // RenderTexture.active = texRender;

       // Texture2D jpg = new Texture2D(1600, 1200, TextureFormat.ARGB32, false);
       // jpg.ReadPixels(new Rect(0, 0, 1600, 1200), 0, 0);
       // byte[] dataBytes = jpg.EncodeToJPG();

       // UnityEngine.Debug.Log("开始打印...");
        int copies = 1;
        Print.PrintTexture(dataBytes, copies, "");// 最主要的就这一句
       // RenderTexture.active = null;

缺点:打包发布后无法调用打印功能,只在Unity中能实现。有知道原因的大佬希望能留言告知;

插件地址LRPrinter

方法二:

// string path = Application.streamingAssetsPath + "\\Textures\\SignaturePhotos\\signaturephoto2019_9_9_5_27_580.jpg";
        //从纸张的0. 0点,将图像调整为750×350点(计算:150mm/28.346 px/cm=529点,100mm/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();
        //}

执行打印之后需要启动OneNote,没能实现打印 

PrintImage.exe 下载地址PrintImage

方法三:

       System.Diagnostics.Process.Start("mspaint.exe",Application.streamingAssetsPath+ "\\Textures\\SignaturePhotos\\signaturephoto2019_9_9_0_23_352.jpg");

调用电脑的画板进行打印,步骤多,麻烦

方法四:

 string path = DataManager.lastPhotoName;
        System.Diagnostics.Process process = new System.Diagnostics.Process(); //系统进程
        process.StartInfo.CreateNoWindow = false; //不显示调用程序窗口
        process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;//
        process.StartInfo.UseShellExecute = true; //采用操作系统自动识别模式
        process.StartInfo.FileName = path; //要打印的文件路径

        process.StartInfo.Verb = "print"; //指定对图片执行的动作,打印:print   打开:open …………
        process.Start(); //开始打印

调用打印机驱动,最终实现打印

github 地址:unity调用打印机

记录踩坑,

欢迎在评论区留言

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值