是基于WPF的。
具体代码如下,打印时会有一个小弹窗一闪而过,还在继续找办法改进
由于目前使用的方法所需的变量类型和程序里需要打印的图片的变量类型不一样,所以这里我将需要打印的照片先保存为文件,然后再读取进来。

 private void button4_Click(object sender, RoutedEventArgs e){MainBitmap = (BitmapImage)image.Source;JpegBitmapEncoder encoder = new JpegBitmapEncoder();encoder.Frames.Add(BitmapFrame.Create(MainBitmap));FileStream files = new FileStream("1.jpg", FileMode.Create, FileAccess.ReadWrite);encoder.Save(files);files.Close();PrintDocument pd = new PrintDocument();pd.DefaultPageSettings.PrinterSettings.PrinterName = "Canon SELPHY CP1200";PaperSize psize = new PaperSize();foreach (PaperSize i in pd.PrinterSettings.PaperSizes){if (i.PaperName == "P 无边距 100x148mm 4x6\"") //无边距可正常居中,有边距0,0点位置需考虑边距{psize = i;break;}Console.WriteLine(i.PaperName);}pd.DefaultPageSettings.PaperSize = psize;pd.PrintPage += (s, args) =>{System.Drawing.Image i = System.Drawing.Image.FromFile("1.jpg");System.Drawing.Rectangle m = args.PageBounds;if (i.Width < i.Height)i.RotateFlip(RotateFlipType.Rotate90FlipNone);if (i.Width >= i.Height){if ((double)i.Width / (double)i.Height <= (double)m.Width / (double)m.Height){int w = (int)((double)i.Width / (double)i.Height * (double)m.Height);int dx = (m.Width - w) / 2;m.X = dx;m.Y = 0;m.Width = w;}else{int h = (int)((double)i.Height / (double)i.Width * (double)m.Width);int dy = (m.Height - h) / 2;m.X = 0;m.Y = dy;m.Height = h;}}args.Graphics.DrawImage(i, m);};pd.Print();}

C# 调用打印机打印图片相关推荐

  1. unity 调用打印机打印图片问题

    1.引用System.Drawing.Printing.dll: 代码如下: /// <summary>/// 开始打印/// </summary>public void Pr ...

  2. python调用打印机打印图片_pyqt5 调用打印机 打印远程图片

    求助.... pyqt5 实现 打印机 打印png图片 可以预览 def localPrinter(): printer = QPrinter(QPrinter.HighResolution) # / ...

  3. python调用打印机打印图片_在python中通过图像发送到打印机上的文本

    在 windows系统中使用 python,wx python和sqlite.我正在尝试打印一些证书/文凭/卡片,背景中有图像,上面有人/文字的名称. 我知道使用来自Pywin32的win32prin ...

  4. python调用打印机打印图片_Python使用Python将图像位数据打印到ESC/POS打印机

    我一直在寻找一个如何格式化和打印bmp到我的收据打印机(这样我可以添加徽标)的例子很长一段时间,所以我怀疑这是一个重复的帖子考虑到其他人是为java或其他脚本语言.通常我很擅长理解指令,但我发现的只是 ...

  5. Unity调用打印机打印文本或者图片

    Unity调用打印机打印文本或者图片 通过windows命令行使用记事本打印文本 private void PrintTxt(){//picPath=Application.streamingAsse ...

  6. android 打印机打印html,Android下通过wifi调用打印机打印

    Android下通过wifi调用打印机打印 // Code in Activity try { Socket sock = new Socket("192.168.199.245" ...

  7. Android 实现系统打印机打印图片,文本,以及二维码生成与解析

    打码机:扫码,生成打印自定义标签   一.Android 打印机要支持,网络.WiFi :手机与打印机在同一网络下才行,本文用WiFi连接 打开系统打印服务: 设置--更多设置--打印--选择默认打印 ...

  8. JS 调用打印机打印网页文档

    引用自:灯火阑珊hy js调用打印机 打印整体或部分 有时前端的项目中需要添加打印的功能,首先要知道打印分为整体打印和局部打印两种,而局部打印又可细分为局部打印指定的部分,和局部打印指定部分之外的部分 ...

  9. itext通过pdf模板填充数据并调用打印机打印

    使用itext5对生成的pdf模板进行编辑填充数据,一种是通过绝对定位去做,简单的可以,通用性太差,第二种是通过pdf域来填充字段,通用性很强 在使用过程中遇到的问题: 网上都是通过这种字体设置中文的 ...

最新文章

  1. plsql的异常提示怎么定位_PLSQL异常处理
  2. ICA处理脑电资料汇总
  3. pytorch筛选统计
  4. MySQL-MongoDB开源监控利器之PMM
  5. 配置库用户_GEE学习笔记 六十八:【GEE之Python版教程二】配置Python开发环境
  6. 【原创】C#中的抽象类(abstract class)和接口(interface)的比较
  7. php中得到复选框的数据的代码,表单复选框向PHP传输数据的代码
  8. Spring-boot中读取config配置文件的两种方式
  9. JDBC学习笔记(查询SQL语句得到的结果对象)
  10. Swift - 环形进度条(UIActivityIndicatorView)的用法
  11. Ubuntu16.04安装PostgreSQL并使用pgadmin3管理数据库_图文详解
  12. 好用的5款火狐浏览器必备插件,每一款都很实用
  13. python处理视频图像_图像/视频处理选项
  14. 读JQuery 有感
  15. 机械键盘插入linux系统中,机械键盘背光灯不亮,并且键盘快捷键无作用
  16. 从A至Z,用30个单词来概括过去十年的游戏行业
  17. Web Components入门实例教程
  18. web实例之电子日历
  19. 【帮帮】移动互联网的“浑水”
  20. Android自定义View之getTextBounds()

热门文章

  1. 思维导图 XMind 8 Update 8 破解一键安装版
  2. 蓄电池活化技术在轨道交通行业的应用案例
  3. android蓝牙传输文件时的文件格式限制及其解决方法
  4. 数据治理中最常听到的名词有哪些?
  5. ArcGIS标注数据框四角坐标(获取数据框四角坐标)
  6. 手机的重要性手机病毒如何防,六招远离手机病毒技巧分享
  7. python:电脑硬盘视频文件的批量压缩替换程序
  8. 电脑清理——C盘深度清理腾出10G空间 NVIDIA更新驱动删除
  9. 爬取b站“开启一个时代”周杰伦mv《可爱女人》弹幕,以及词云制作
  10. 网页html web直接打开cad文件dwg格式等的方法