List<double> labels = form.channelData2[kp.Key];
List<double> listY = kp.Value;
int labelSpan = 0;
if (form.currentMode2.display == DMAppConfig.Display.S30 || form.currentMode2.display == DMAppConfig.Display.S15 || form.currentMode2.display == DMAppConfig.Display.S10 || form.currentMode2.display == DMAppConfig.Display.S5)
labelSpan = form.maxSampleRate2;
else if (form.currentMode2.display == DMAppConfig.Display.S60 || form.currentMode2.display == DMAppConfig.Display.M2 || form.currentMode2.display == DMAppConfig.Display.M5 || form.currentMode2.display == DMAppConfig.Display.M10)
labelSpan = form.maxSampleRate2 * form.currentMode2.totalSeconds / Properties.Settings.Default.Spo2PulsePointDensity;
if (labels != null && labelSpan != 0 && labels.Count == listY.Count) //Spo2和pulse点标记的文字
{
int labelX = labelSpan / 2;

//重新设置画布,否则会出现坐标错乱的现象

while (labelX < labels.Count)
{
Graphics g3 = Graphics.FromImage(bmp);
g3.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;

double label = labels[labelX];
int X0 = (int)(labelX * width * 1.0 / listY.Count);
int Y0 = (int)listY[labelX] - baseline;
string text = label.ToString("f0");
Font font = new Font("宋体", 8, FontStyle.Regular);
SizeF labelSize = g3.MeasureString(text, font);
int labelWidth = (int)(labelSize.Width * 1.2);
int labelHeight = (int)(labelSize.Height);
Rectangle rect = new Rectangle(X0 + offset, height - Y0 - 18, (int)labelWidth, (int)labelHeight);
g3.TranslateTransform(X0 + offset+ labelWidth/2, height - Y0 - 18+ labelHeight/2);
g3.RotateTransform(-45);
g3.DrawString(text, font, new SolidBrush(XMLSerializerManager.DeserializeColor(channel.lineColor)), 0,0, labelFormat);//绘制显示数字
//g2.DrawString(text, font, new SolidBrush(XMLSerializerManager.DeserializeColor(channel.lineColor)), rect, labelFormat);//绘制显示数字
labelX += labelSpan;
g3.Dispose();
}
}

Graphics绘制图形的更多相关文章

  1. Java 在PDF文档中绘制图形

    本篇文档将介绍通过Java编程在PDF文档中绘制图形的方法.包括绘制矩形.椭圆形.不规则多边形.线条.弧线.曲线.扇形等等.针对方法中提供的思路,也可以自行变换图形设计思路,如菱形.梯形或者组合图形等 ...

  2. C#如何消除绘制图形缩放时抖动,总结

    一.手动双缓冲 首先定义一个BitmapBitmap backBuffer = new Bitmap(画布宽度, 画布高度);然后获取这个Bitmap的GraphicsGraphics graphic ...

  3. 实现绘制图形的ToolBar

    给地图添加绘制图形的ToolBar还是有必要的,比较人性化的功能.图形的样式可以自己定制,也提供了朴实的默认样式.对 dojo 不太懂,出现了许许多多问题,真是蛋疼的一天啊.令人惊喜的是 ArcGis ...

  4. GDI+绘制图形和画刷填充图形

    GDI+可以再Windows窗体应用程序中以编程方式绘制图形等. 可以在VS里新建项目-Windows窗体应用程序-建一个窗体.首先引入命名空间using System.Drawing.Imaging ...

  5. iOS圆角view的Swift实现(利用Core Graphics绘制)

    iOS圆角view的Swift实现(利用Core Graphics绘制) 因为app的列表用用到了圆形图片的头像,所以去探究并思考了一下这个问题.首先这个问题有两个方向的解决方案: 把图片弄成圆形的. ...

  6. Java 窗口 绘制图形 #2

    写在前面: 高考结束咧,爽到啊,好耶 完善了Java 窗口 绘制图形 #1里面的程序 加入了缩放平移功能,给代码加了注释 1 package my_package; 2 3 import java.a ...

  7. java:绘制图形

    java绘图类:Graphics类 绘图是高级程序中必备的技术,在很多方面都能用到,如:绘制闪屏图片,背景图片和组件外观等. 1.Graphics类 Graphics类是所有图形上下文的抽象基类,Gr ...

  8. CSS 魔法系列:纯 CSS 绘制图形(心形、六边形等)

    <CSS 魔法系列>继续给大家带来 CSS 在网页中以及图形绘制中的使用.这篇文章给大家带来的是纯 CSS 绘制五角星.六角形.五边形.六边形.心形等等. 我们的网页因为 CSS 而呈现千 ...

  9. html5 Canvas绘制图形入门详解

    html5,这个应该就不需要多作介绍了,只要是开发人员应该都不会陌生.html5是「新兴」的网页技术标准,目前,除IE8及其以下版本的IE浏览器之外,几乎所有主流浏览器(FireFox.Chrome. ...

  10. html5 canvas 笔记一(基本用法与绘制图形)

    <canvas> 元素 <canvas id="tutorial" width="150" height="150"> ...

随机推荐

  1. Unity实现手机录音功能

    using UnityEngine;using System.Collections;public class MicPhoneScripts : MonoBehaviour{    private ...

  2. serializers序列化函数简单入门

    1. 创建Django项目和应用程序 首先,我们需要创建一个Django项目和一个Django应用程序.如果你已经有了Django项目和应用程序,请跳过这一步. $ django-admin star ...

  3. outlook初用

    以前一直用 Foxmail 收发邮件,由于公司用到 sharepoint 可以跟 outlook 绑定,试了下 outlook. 第一次用 outlook 以为也是跟 foxmail 一样简单配置一下 ...

  4. python中如何获取主机的ip和主机名

    使用python中的socket库,可以轻松获取主机ip和主机名. 一.获取主机名 import socket hostname = socket.gethostname() print(hostna ...

  5. C#动态创建对象和其属性

    dynamic contact = new ExpandoObject(); contact.Name = "Patrick Hines"; contact.Phone = &qu ...

  6. SqlServer查看所有表数据条数

    select a.name as 表名, max(b.rows) as 记录条数 from sysobjects a ,sysindexes b where a.id=b.id and a.xtype ...

  7. 【11】python之循环

    Python 中的循环语句有 for 和 while. 1.while 循环 Python 中 while 语句的一般形式: while 判断条件(condition): 执行语句(statement ...

  8. xlwings.copy两种用法和匹配超链接

    第一种复制整个sheet页,不能覆盖同名sheet,需先删除.name新sheet也名称 after复制后的位置wb.sheets('增量机会-体外刷新导入').copy(name='快照版本(勿动) ...

  9. 假设业务需要,在页面一屏中一次性展示大量图片(100张),导致img组件同时发起大量的请求,导致浏览器性能被消耗殆尽,页面卡死。怎么优化?

    1.所有图片先提供占位图2.懒加载思想3.使用队列的方式4.通过信号量的机制,结合队列.例如设置可用资源数为10,则保证同一时刻,只有10张图片正在请求,其它图片处于loading状态,任意图片请求完 ...

  10. vue中,解决chrome下,的warning, Added non-passive event listener to a scroll-blocking ‘mousewheel‘ event 问题

    写项目的时候,Chrome 提醒: [Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' eve ...