在做图片监控显示的时候,需要在图片上添加文字,如果用graphics类绘制图片上的字体,实现图像上添加自定义标记,这种方法经验证是可行的,并且在visual c#2005 编程技巧大全上有提到,但是,这种方法处理图片的速度超级慢。一面介绍一种一种基于重载的高效c#上图片添加文字图形图片的方法。

using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms; namespace show
{
/// <summary>
/// Summary description for TransparentLabel2.
/// </summary>
public class PicBOX : System.Windows.Forms.PictureBox
{
//Fields
private Point _Location = new Point(0, 0);//字体位置
public string wrw;
public bool isOld; //Properties
public Point TextLocation
{
get
{
return this._Location;
}
set
{
this._Location = value;
}
}
[Browsable(true)]
new public string Text
{
get { return base.Text; }
set { base.Text = value; }
}
[Browsable(true)]
new public Font Font
{
get { return base.Font; }
set { base.Font = value; }
}
//
public PicBOX()
{
} protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
SizeF m_size = e.Graphics.MeasureString(this.Text, this.Font);
e.Graphics.DrawString(this.Text, this.Font, Brushes.Yellow, new RectangleF(this._Location, m_size));//加上字体 Image img = Image.FromFile("alarm2.jpg");
e.Graphics.DrawImage(img, new Point(this.Width-img.Width,0));
//加上图片
} }}

												

一种基于重载的高效c#上图片添加文字图形图片的方法的更多相关文章

  1. Base64就是一种 基于64个可打印字符来表示二进制数据的表示方法

    Base64编码是从二进制到字符的过程. Base64编码主要用在传输.存储.表示二进制等领域,还可以用来加密,但是这种加密比较简单. byte[] byteArray = Encoding.UTF8 ...

  2. Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)

    想要给图片添加文字水印或者注释,我们需要实现在UIImage上写字的功能. 1,效果图如下: (在图片左上角和右下角都添加了文字.) 2,为方便使用,我们通过扩展UIImage类来实现添加水印功能 ( ...

  3. .net core 基于multipart/form-data的文件上传,这里以图片上传为例

    首先传递的数据格式大概如下: 然后就可以在后端获取数据了:直接上代码了哈: [HttpPost]        ///分别获取 data数据和调用图片上传方法 public async Task< ...

  4. 在QLabel上同时显示文字和图片的方法

    有两种方法. 1.打开UI文件,在界面右键单击QLabel对象,选改变多信息文本 选择图片再确定,左侧问号就是图片. 2.直接在QLabel写富文本 <html><head/> ...

  5. 重载 UINavigationController 设置左侧返回按钮的文字为图片

    UINavigationController 导航栏控制器的左侧返回按钮如果需要设置成图片,仅使用系统的是无法实现的,需要重载系统的导航栏控制器,在控制器推出之前替换掉leftBarButtonIte ...

  6. 利用php给图片添加文字水印--面向对象与面向过程俩种方法的实现

    1: 面向过程的编写方法 //指定图片路径 $src = '001.png'; //获取图片信息 $info = getimagesize($src); //获取图片扩展名 $type = image ...

  7. 请问 imgbtn上怎样添加文字呢

    陈桂城(49868971) 2013/10/14 21:29:57 <imgbtn>文字</imgbtn>

  8. javaCV开发详解之4:转流器实现(也可作为本地收流器、推流器,新增添加图片及文字水印,视频图像帧保存),实现rtsp/rtmp/本地文件转发到rtmp流媒体服务器(基于javaCV-FFMPEG)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  9. 多媒体开发(4):在视频上显示文字或图片--ffmpeg命令

    小白:我录了段视频,里面用的音乐是有版权的,而且快过期了,能把音乐去掉吗? 小程拿到视频后,一个快捷键打开命令终端,快速打下一行命令: ffmpeg -i 小白.flv -vcodec copy -a ...

随机推荐

  1. Tab页签切换

    js之tab页签切换效果       现在web网站,很多地都需要用到tab页签. 示例:         $(document).ready(function(){               va ...

  2. 网页调用外部APP

    <activity android:name=".MainActivity" android:label="@string/app_name"> & ...

  3. 五、C# 类

    面向对象编程 类是面向对象编程的3个主要特征---封装.继承和多态性---的基础.   封装允许隐藏细节.   继承 继承关系至少涉及两个类,其中一个类(基类)是另一个类的更泛化的版本.   为了从一 ...

  4. js单条新闻向上滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  5. 重新开始学习javase_类再生(类的合成和继承)

    一.合成在新类里简单地创建原有类的对象.我们把这种方法叫作“合成” 为进行合成,我们只需在新类里简单地置入对象句柄即可.举个例子来说,假定需要在一个对象里容纳几个 String对象.两种基本数据类型以 ...

  6. MySQL主从复制详细部署过程

    环境介绍:   采用多实例进行主从复制测试,多实例方法请参考网上其它文档,其实多实例和双服务器对于测试环境来说是一样的.   当前采用3306端口进程为Master,3307端口进程为Slave.   ...

  7. Spring3.0提供的表达式语言spel

    package com.zf.spel; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.D ...

  8. JQUERY1.9学习笔记 之基本过滤器(十二) 根元素选择器

    根元素选择器 描述:选择文档的根节点元素.jQuery( ":root" ) 例:显示文档根节点标签名. <!DOCTYPE html><html lang=&q ...

  9. C++ 性能剖析 (一)

    C++ 性能剖析 (一) 性能问题也不是仅仅用“技术”可以解决的,它往往是架构,测试,假设等综合难题.不过,对于一个工程师来说,必须从小做起,把一些“明显”的小问题解决.否则的话积小成多,千里堤坝,溃 ...

  10. css position 相对定位

    <html> <head> <style type="text/css"> h2.pos_left { position:relative; l ...