csharp .net vb 复制图像
.NET Compact Framework 不支持 Image.Clone 方法,可是仍能够复制图像和图像的某些部分。以下的演示例子演示怎样运行以下操作:
定义一个方法以创建位图。
定义一个重载方法以复制位图或位图的一部分。
通过重写窗口的 OnPaint 方法来调用这些方法并向屏幕绘制图像。
创建位图
此方法创建一个位图以进行演示。
// Creates a bitmap for copying.
private Bitmap CreateBitmap(int sideSize)
{
Bitmap bmp = new Bitmap(sideSize, sideSize);
Graphics g = Graphics.FromImage(bmp); g.FillEllipse(new SolidBrush(Color.Red), 0, 0, sideSize, sideSize);
g.DrawLine(new Pen(Color.Black), 0, 0, sideSize, sideSize);
g.DrawLine(new Pen(Color.Black), sideSize, 0, 0, sideSize);
g.Dispose(); return bmp;
}
克隆位图
此方法重载採用源位图作为參数并将该位图作为副本返回。
复制位图的一部分
此方法重载採用 Rectangle 作为參数以确定要返回的位图部分的尺寸。
创建、复制和绘制位图
此 OnPaint 方法重载调用方法创建一个位图,然后克隆并复制该位图的一部分。此方法也能够将克隆的位图保存到一个文件里。
// Draws the bitmaps on the form.
protected override void OnPaint(PaintEventArgs e)
{
Font arialFont;
Brush blackBrush;
arialFont = new Font("Arial", 10, FontStyle.Regular);
blackBrush = new SolidBrush(Color.Black); // Set the size of the sides of the bitmap,
// and get one-third of it for the center bitmap.
int sidesize = 75;
int third = (int) sidesize/3; // Create bitmap.
source = CreateBitmap(sidesize); // Copy entirely as a clone.
clone = CopyBitmap(source); // Copy the center part of the bitmap.
center = CopyBitmap(source, new Rectangle(third, third, third, third)); // Save the bitmap to a file.
clone.Save("newbitmap.bmp", ImageFormat.Bmp); // Draw the source, clone, and partial
// bitmaps vertically down the screen.
int y = 10; e.Graphics.DrawString("source bitmap:", arialFont, blackBrush, 10, y);
y += 20; e.Graphics.DrawImage(source, 10, y);
y += source.Height + 10; e.Graphics.DrawString("clone bitmap:", arialFont, blackBrush, 10, y);
y += 20; e.Graphics.DrawImage(clone, 10, y);
y += clone.Height + 10; e.Graphics.DrawString("center part of bitmap:", arialFont, blackBrush, 10, y);
y += 20; e.Graphics.DrawImage(center, 10, y);
y += center.Height + 10; // Dispose graphic objects.
arialFont.Dispose();
blackBrush.Dispose();
}
此演示例子须要引用以下的命名空间:
csharp .net vb 复制图像的更多相关文章
- centos6配置vnc登录远程物理机及vb复制vdi启动虚拟机网络问题
1.安装vnc和vncserver #yum install tigervnc tigervnc-server 2.启动VNC服务# vncserverYou will require a passw ...
- opencv中的图像复制、保存和显示
接下来几天会写一个opencv的基础系列,与各位相互学习! &1 图像操作 声明图像指针:IplImage* 读入图像: cvLoadImage 创建图像:cvCreateImage 复制图像 ...
- Opencv-Python:图像尺寸、图像的读取、显示、保存与复制
Opencv-Python:图像尺寸.图像的读取.显示.保存与复制 原创 2017年11月23日 21:30:49 4440 在使用opencv的方法时,首先必须导入opencv包.新的opencv导 ...
- OpenCV(C++版)图像读取,创建,复制,保存,显示
http://blog.163.com/yuyang_tech/blog/static/21605008320132642254689/ 一个小例子: #include "stdafx.h& ...
- 【opencv学习笔记六】图像的ROI区域选择与复制
图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感兴趣区域ROI.今天我们来看一下如何设置图像的感兴趣区域ROI.以及对ROI区域图像 ...
- canvas上的像素操作(图像复制,细调)
canvas上的像素操作(图像复制,细调) 总结 1.操作对象:ImageData 对象,其实是canvas的像素点集合 2.主要操作: var obj=ctx.getImageData(0,0,10 ...
- 图像的ROI区域选择与复制
[opencv学习笔记六]图像的ROI区域选择与复制 孜然 7 人赞同了该文章 图像的数据量还是比较大的,对整张图片进行处理会影响我们的处理效率,因此常常只对图像中我们需要的部分进行处理,也就是感 ...
- Opencv图像与矩阵的操作
#include "stdafx.h" #include <cv.h> #include <cxcore.h> #include <highgui.h ...
- HTML5画布(图像)
案例1: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8& ...
随机推荐
- cocos2dx中的层CCLayer
什么是层,层在cocos2dx里是一个能处理触摸事件的CCNode,因为它负责用户交互,因此大部分游戏细节都在这个类中完成,所以我们经常派生这个图层来完成逻辑交互代码.当然如果你的图层不需要接受交互信 ...
- 代码收藏 JS实现页内查找定位功能
前部分为IE下搜索方法 用TextRange来实现 后部分为firefox.chrome下搜索方法 var nextIndex = 0; var searchValue = ''; var input ...
- Flex控件初始化问题
有个对话框mx:TitleWindow->mx:TabNavigator->里有两个mx:Tile,每个Tile里都有个datagrid.测试如下:1.对话框显示后,马上动态监测第二个ti ...
- I can do it!(贪心)
I can do it! Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Tot ...
- swiper,animate使用方法
1.先链接css和js文件 <link rel="stylesheet" type="text/css" href="css/swiper-3. ...
- DevExpress ASP.NET 使用经验谈(2)-XPO对象的使用(使用默认数据连接)
接下来,我们通过一个控制台应用程序,介绍XPO对象的保存操作. 图一 添加新项目 图二 选择项目类型为控制台应用程序 查看生成的Program.cs代码文件,代码如下: using System; u ...
- CSS的float与clear
首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...
- centos5.5 安装git
查看centos版本 # cat /etc/redhat-release CentOS release 5.5 (Final) 安装git 下载: 如果有老版本的git: #git clone git ...
- BZOJ 1599: [Usaco2008 Oct]笨重的石子( 枚举 )
直接枚举 ------------------------------------------------------------------------------- #include<cst ...
- 进度记录 和 安装imagick时Cannot locate header file MagickWand.h错误的解决
修改php.ini文件,已使php支持扩展的功能 [root@localhost imagick-2.2.2]# ./configure --with-php-config=/usr/local/ph ...