图像的绘制,剪切,旋转,添加文字.生成图像的缩略图
1
//按指定大小绘制图像
2
private void button1_Click(object sender, System.EventArgs e)
3![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
4
Bitmap myImage = new Bitmap(@"c:\11.jpg");
5
Graphics g=this.pictureBox1.CreateGraphics();
6
Pen pen = new Pen(Color.FromArgb(0, 0, 0));
7
int width =this.pictureBox1.Width-100 ;
8
int height =this.pictureBox1.Height-100 ;
9
int x =2;
10
int y =2;
11
//设定图像的绘制区域
12
g.DrawRectangle(pen, x - 1, y - 1, width + 1, height + 1);
13
//设定图像的绘制质量
14
g.InterpolationMode = InterpolationMode.HighQualityBilinear;
15
//绘制图像
16
g.DrawImage(myImage, x, y, width, height);
17
pen.Dispose();
18
19
}
1
private void button2_Click(object sender, System.EventArgs e)
2![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
3
//以正常方式显示图片
4
Bitmap myImage = new Bitmap(@"c:\11.jpg");
5
Graphics g=this.pictureBox1.CreateGraphics();
6
g.DrawImage(myImage, 29, 20);
7
//以旋转方式显示图片
8
// g.Clear(Color.Yellow ) ; //如果不清除将在上次的基础上绘制
9
g.RotateTransform(-30);
10
g.DrawImage(myImage, 100, 380);
11
g.ResetTransform();
12![](/Images/OutliningIndicators/InBlock.gif)
13
14
15
}
16![](/Images/OutliningIndicators/None.gif)
17
private void button3_Click(object sender, System.EventArgs e)
18![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
19
Bitmap myImage = new Bitmap(@"c:\11.jpg");
20
//设定一块显示区域
21
this.pictureBox1.Image =myImage;
22
//创建画布
23
Graphics g=Graphics.FromImage (this.pictureBox1.Image );
24
//设定要显示的字符
25
String drawString = "老婆你好!";
26
//设置字体与画刷
27
Font drawFont = new Font("隶书", 20);
28
SolidBrush drawBrush = new SolidBrush(Color.Black);
29
//设定显示的区域
30
PointF drawPoint = new PointF(150.0F, 50.0F);
31
//设定字符串的格式
32
StringFormat drawFormat = new StringFormat();
33
drawFormat.FormatFlags = StringFormatFlags.DirectionVertical;
34
//绘制字符至屏幕
35
g.DrawString(drawString, drawFont, drawBrush, drawPoint, drawFormat);
36
drawPoint = new PointF(150.0F+120.0F , 50.0F+250.0F);
37
drawFont = new Font("隶书", 10);
38
g.DrawString("furenjun", drawFont, drawBrush, drawPoint, drawFormat);
39
drawPoint = new PointF(150.0F+60.0F+120.0F , 50.0F+250.0F+50.0F);
40
drawFont = new Font("隶书", 6);
41
g.DrawString(System.DateTime.Now.ToString () , drawFont, drawBrush, drawPoint, drawFormat);
42
//保存图像
43
this.pictureBox1.Refresh ();
44
this.pictureBox1.Image.Save(@"c:\mfu.jpg",System.Drawing.Imaging.ImageFormat.Jpeg );
45
46![](/Images/OutliningIndicators/InBlock.gif)
47![](/Images/OutliningIndicators/InBlock.gif)
48
}
49![](/Images/OutliningIndicators/None.gif)
50
private void button4_Click(object sender, System.EventArgs e)
51![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
52
if (this.openFileDialog1.ShowDialog()==DialogResult.OK)
53![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
54
//获取图像
55
Bitmap myBitmap = new Bitmap(this.openFileDialog1.FileName );
56
//设定图像剪切区域
57
RectangleF cloneRect = new RectangleF(0, 0, 100, 100);
58
PixelFormat format = myBitmap.PixelFormat;
59
Bitmap cloneBitmap = myBitmap.Clone(cloneRect, format);
60
//绘制剪切的图像
61
Graphics g=this.pictureBox1.CreateGraphics();
62
// g.DrawImage(cloneBitmap, 0, 0);
63
64
//生成图像的缩略图
65
Image.GetThumbnailImageAbort myCallback =
66
new Image.GetThumbnailImageAbort(ThumbnailCallback);
67
68
Image myThumbnail = myBitmap.GetThumbnailImage(
69
40, 60, myCallback, IntPtr.Zero);
70
this.pictureBox1.Image = myThumbnail;
71
//g.DrawImage(myThumbnail, 150, 75);
72
73
MessageBox.Show( myBitmap.FrameDimensionsList.ToString() +"\n" +myBitmap.HorizontalResolution.ToString() ) ;
74![](/Images/OutliningIndicators/InBlock.gif)
75
}
76![](/Images/OutliningIndicators/InBlock.gif)
77
}
78
public bool ThumbnailCallback()
79![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
80
return false;
81
}
1
using System;
2
using System.Drawing;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Windows.Forms;
6
using System.Data;
7
using System.Drawing.Drawing2D;
8
using System.Drawing.Imaging ;