
UI/GDI+
主要是UI方面的
陆老师Peter
高校计算机专业教师、项目经理、软件研发负责人。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
文件-- 字节相互转换(word、图片、pdf...)
方式一:/// <summary> /// word文件转换二进制数据(用于保存数据库) /// </summary> /// <param name="wordPath">word文件路径</param> /// <returns>二进制</returns> ...转载 2019-12-17 11:47:34 · 984 阅读 · 0 评论 -
Byte[]、Image、Bitmap 之间的相互转换
/// <summary> /// 将图片Image转换成Byte[] /// </summary> /// <param name="Image">image对象</param> /// <param name="imageFormat">后缀名</...转载 2019-12-17 11:14:43 · 895 阅读 · 1 评论 -
c# Bitmap byte[] Stream 文件相互转换
//byte[] 转图片public static Bitmap BytesToBitmap(byte[] Bytes) { MemoryStream stream = null; try { stream = new MemoryStream(Bytes); ...转载 2019-12-17 10:58:45 · 1798 阅读 · 0 评论 -
将bitmap转为File文件
public void saveBitmapFile(Bitmap bitmap) { File file = new File("storage/emulated/legacy/s.jpg");//将要保存图片的路径 try { BufferedOutputStream bos = new BufferedOutputStream(new FileOutput...转载 2019-12-17 10:50:21 · 1275 阅读 · 3 评论 -
C# bitmap转换为字节流
public static byte[] BitmapByte(Bitmap bitmap) { using (MemoryStream stream = new MemoryStream()) { bitmap.Save(stream, ImageFormat.Jpeg); ...转载 2019-12-17 10:43:06 · 1702 阅读 · 0 评论 -
内存管理(15)——UI(20)——DeleteObject
DeleteObject,该函数删除一个逻辑笔、画笔、字体、位图、区域或者调色板,释放所有与该对象有关的系统资源,在对象被删除之后,指定的句柄也就失效了。基本信息 中文名称 DeleteObject 函数原型 BOOL DeleteObject(HGDIOBJ hObject) 作用 删除,释放系统资源 类型 函数 ...转载 2019-12-16 17:47:24 · 335 阅读 · 0 评论 -
内存管理(16)——UI(19)——DeleteObject() 的使用
六种GDI对象,画笔、画刷、位图、区域、字体和调色板。除了调色板之外,这些对象都是通过SelectObject选进设备描述表的。 This function returns the previously selected object of the specified type. SelectObject将返回设备描述表中上一次选择的对象句柄。 例:hPen = Se...转载 2019-12-16 17:51:37 · 148 阅读 · 0 评论 -
UI(18)——创建Bitmap时因尺寸问题导致“System.ArgumentException Message=参数无效”
问:捕捉到 System.ArgumentException Message=参数无效。 Source=System.Drawing StackTrace: 在 System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format) 在 System.Drawing.Bitm...转载 2019-12-13 22:16:29 · 5065 阅读 · 1 评论 -
UI(17)——使用GDI+实现图像旋转的2种简单方法
方法一:旋转画图区,以90度旋转为例 private void btnRotate90_Click(object sender, EventArgs e) { Graphics gs = pictureBox1.CreateGraphics(); string strFile = @"E:\p.jpg"; ...转载 2019-12-13 17:22:34 · 747 阅读 · 0 评论 -
UI(16)——GDI+旋转图片的几种方法
1. 使用旋转矩阵POINTimgRotateCenterPos={10,10}; //旋转中心在图片坐标(相对于图片本身)CRect rcShow(imgShowRect); //图片要绘制的位置区域.//把相对于图片的旋转中心坐标转换为 绘制区域的坐标PointF centerPos(imgRotateCenterPos.x+rcShow.left, imgRotateCe...转载 2019-12-13 17:07:28 · 463 阅读 · 0 评论 -
UI(15)——GDI 画布开发笔记
一、用画布进行页面排版布局:1、每张一页,不用排版。不用转图片,因为不用画边框线,也不用布局。2、两张图合并成一张是拼接。PDF标准尺寸:宽 4627,高 6541。横版是横纵坐标互换即可。由于图片再转PDF文件时,横版还是出现一点问题,所以在画布里统一成纵版图片,横版图片统一逆时针旋转90度即可。根据第一张的宽和高进行比对,如果第一页的高>宽,就设为横向打印,即横向...原创 2019-12-10 13:03:27 · 260 阅读 · 0 评论 -
UI(14)——GDI+基础(3)
常用图形绘制:<%@ Page ContentType="image/gif" Language="C#" %><!--ContentType设置页面类型--><%@ Import namespace="System.Drawing" %><%@ Import namespace="System.Drawing.Imaging" %>&...转载 2019-12-10 11:24:01 · 203 阅读 · 0 评论 -
UI(13)——GDI+基础(2)
使用钢笔,画笔用来填充图形内部,钢笔则用来绘制带有一定宽度,样式和色彩的线条和曲线.可以使用标准的pens类<%@ Page ContentType="image/gif" Language="C#" %><!--ContentType设置页面类型--><%@ Import namespace="System.Drawing" %><%@ I...转载 2019-12-10 11:20:12 · 217 阅读 · 0 评论 -
UI(12)——GDI+基础(1)
System.Drawing 命名空间提供了对 GDI+ 基本图形功能的访问System.Drawing.Drawing2D 命名空间提供高级的二维和矢量图形功能。此命名空间包含梯度型画刷、Matrix 类(用于定义几何变换)和 GraphicsPath 类System.Drawing.Imaging 命名空间提供高级 GDI+ 图像处理功能System.Drawing.Text 命名空间提...转载 2019-12-10 11:14:31 · 282 阅读 · 0 评论 -
UI(11)——Image——把多张图片合成一张图
在平常我们开发的时候, 我们会遇到各种各样的需求, 比如想微博那样, 把多张图片合成一张长图, 现在让我们来看看怎么把多张图片合成一张长图.1.布置界面2.实现代码一(绘制多张图片)// 1.把多张绘制成一张图片func drawImages(imageArray: [UIImage]) -> UIImage { // 1.1.图片的宽度 var ...转载 2019-12-09 22:48:33 · 1053 阅读 · 0 评论 -
UI(10)——GDI+图像合并
一、图像拼接,图像合并,将两张图片合成一张图片:Image* FixedSize3(Image *imgSrc1, Image *imgSrc2){ Bitmap *bmPhoto = new Bitmap(imgSrc1->GetWidth()+ imgSrc2->GetWidth(), imgSrc1->GetHeight()); bmPhoto->Set...原创 2019-12-09 22:42:12 · 517 阅读 · 0 评论 -
UI(9)——C#图片拼接(全景图片的实现)
关于图片拼接,我们可以调用Graphics.DrawImage里面的接口实现,具体代码如下: private static Image JoinImage(Image Img1, Image Img2)//实现左右拼接图片 { int imgHeight = 0, imgWidth = 0; imgWidth = ...转载 2019-12-09 22:33:50 · 1769 阅读 · 0 评论 -
UI(8)——用GDI+怎么将图片和文字合并成一张图片?两张图片合成一张图片?
Graphics g=Graphics.FromImage(你要操作的图片);g.DrawString()就可以把你的文字和图片合成一个了图片同理g.DrawImage();注意参数的使用代码要写在放图片的控件的Paint 事件里。...转载 2019-12-09 18:02:48 · 438 阅读 · 0 评论 -
UI(7)——.NET(C#Winform)GDI+系列学习教程——Graphics类
Graphics类Graphics类封装一个GDI+绘图图面,提供将对象绘制到显示设备的方法,Graphics与特定的设备上下文关联。画图方法都被包括在Graphics类中,在画任何对象(例如:Circle,Rectangle)时,我们首先要创建一个Graphics类实例,这个实例相当于建立了一块画布,有了画布才可以用各种画图方法进行绘图。绘图程序的设计过程一般分为两个步骤:创建Gra...转载 2019-12-09 17:05:36 · 336 阅读 · 0 评论 -
UI(6)——C# GDI+简单绘图(四)
前几篇我已经向大家介绍了如何使用GDI+来绘图,并做了一个截图的实例,这篇我向大家介绍下如何来做一个类似windows画图的工具. 个人认为如果想做一个功能强大的绘图工具,那么单纯掌握GDI还远远不够,我的目前也只能做一个比较简单的绘图工具了.不足之处,欢迎大家讨论! 先来看一下最终效果吧: 主要实现功能:画直线,矩形,橡皮,圆形,切换颜色,打开图片,保存图片,清除图片...转载 2019-12-09 16:42:12 · 357 阅读 · 0 评论 -
UI(5)——C# GDI+ 简单绘图(三)
家的支持,这几天从早忙到晚,一个字累呀!!!现在挺困的,但是又不习惯这么早睡觉,哎~~还是利用这个时间继续来写第三篇吧. 前两篇已经基本向大家介绍了绘图的基本知识.那么,我就用我们上两篇所学的,做几个例子. 我们先来做一个简单的----仿QQ截图,关于这个的例子其实网上已经有这方面的资料了,但是为了文章的完整性,还是觉得有必要讲解. 我们先来看一下效果:...转载 2019-12-09 16:39:41 · 230 阅读 · 0 评论 -
UI(4)——C# GDI+简单绘图(二)
在上一片里已经向大家介绍了如何使用GDI+绘制简单的图像,这一片继续向大家介绍其它一些绘图知识.1.首先我们来看下上一片中我们使用过的Pen.Pen的属性主要有: Color(颜色),DashCap(短划线终点形状),DashStyle(虚线样式),EndCap(线尾形状), StartCap(线头形状),Width(粗细)等.我们可以用Pen来画虚线,带箭头的直线等Pen ...转载 2019-12-09 16:37:21 · 516 阅读 · 0 评论 -
UI(3)——C# GDI+简单绘图(一)
最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等. 最早接触这个类,是因为想做仿QQ截图的效果.巧的很,学会了如何做截图后,.NET课堂上老师也正巧要讲关于c#绘图方面的知识,并且我自己又在网上学习金老师的培训班,也是要用到这个类.在学习中有一些体会,所以准备把这些体会记下来,因为内容比较多,可能我会分几次写. 废话不多说了,我们先来认识一下这个...转载 2019-12-09 16:33:09 · 403 阅读 · 0 评论 -
UI(2)——C#GDI+ winform简单画图
最近一直在画自定义控件,所以研究一下GDI+对画图的操作,先介绍一下GDI,全称为Graphics Device Interface,含义是图形设备接口,它的主要任务就是负责系统与绘图程序之间的信息交换。 对于画图其实并不是很麻烦的,我们只需要会用几个对象就行,一个是Graphics对象,该对象封装了一个绘图图面,Graphics对象的创建一般是用控件自带的CreateGra...转载 2019-12-09 16:24:27 · 541 阅读 · 0 评论 -
UI(1)——C# WinForm开发系列 - GDI+
UI(User Interface)编程在整个项目开发过程中是个颇为重要的环节,任何好的解决方案若没有良好的用户界面呈现给最终用户,那么就算包含了最先进的技术也不能算是好程序。UI编程体现在两个方面,一是设计精美的用户界面,再有就是符合大多数用户习惯和易于使用的操作流程. 本文主要收集整理一些介绍 .Net 框架的基本绘图技术文章。通过简要的介绍和示例程序来探讨绘图技术的优势、劣势以及其它相关...转载 2019-12-09 13:05:59 · 634 阅读 · 1 评论