实现步骤
1.新建项目,在项目中新建一个名称为Plugins的文件夹,将System.Drawing.dll和User32.dll文件放进这个文件夹中,如下图所示: 2.在项目中新建StreamingAssets文件夹,将一张图片放入此文件夹中,如下图所示: 3.开发打印Paint.cs脚本,此脚本的作用是开发打印基本功能,脚本开发完成后挂载到场景中,脚本代码如下所示: `using System.Collections; using System.Collections.Generic; using System.Drawing; using UnityEngine; using System.IO; using UnityEngine.SceneManagement; using System;
public class Print : MonoBehaviour { /// <summary>坐标X,Y</summary> private int coordinateX, coordinateY; /// <summary>图片的宽度和高度</summary> private int width, height; /// <summary>位图实例化</summary> private Bitmap bitmap; private System.Drawing.Printing.PrintDocument printDocument1;
void
Start
(
)
{
coordinateX
=
0
;
coordinateY
=
0
;
width
=
100
;
height
=
100
;
this
.
printDocument1
=
new
System
.
Drawing
.
Printing
.
PrintDocument
(
)
;
}
/// <summary>
/// 设置打印信息
/// </summary>
private
void
SetPrintInfo
(
)
{
this
.
printDocument1
.
PrintPage
+=
new
System
.
Drawing
.
Printing
.
PrintPageEventHandler
(
this
.
printDocument1_PrintPage
)
;
}
private
void
printDocument1_PrintPage
(
object
sender
,
System
.
Drawing
.
Printing
.
PrintPageEventArgs
e
)
{
e
.
Graphics
.
DrawImage
(
bitmap
,
coordinateX
,
coordinateY
,
width
,
height
)
;
}
/// <summary>
/// 开始打印列表
/// </summary>
public
void
StartPrintList
(
string
path
)
{
bitmap
=
new
Bitmap
(
path
)
;
//根目录
SetPrintInfo
(
)
;
printDocument1
.
Print
(
)
;
//currentFile = null;
}
}
4.开发调用打印功能脚本,开发完成后挂载到场景中的物体上,脚本代码如下所示:
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class ToDaYin : MonoBehaviour { /// <summary> /// 文件名称 /// </summary> public string pathName; //打印逻辑 public Print print;
// Use this for initialization
void
Start
(
)
{
pathName
=
Application
.
streamingAssetsPath
+
"/0.png"
;
Debug
.
Log
(
pathName
)
;
}
/// <summary>
/// 打印
/// </summary>
public
void
ToDaYinThis
(
)
{
print
.
StartPrintList
(
pathName
)
;
}
` 5.在场景中新建一个Button,将ToDaYinThis方法赋值到该button上,如下图所示: 6.打印效果如下所示,哈哈。因为打印了一张白色图片,所以什么也没有打印出来:
本文详细介绍在Unity中实现打印功能的步骤,包括创建项目文件夹、添加必要dll、编写打印脚本及调用方法,最终通过按钮触发打印流程。
898

被折叠的 条评论
为什么被折叠?



