private void pictureEdit1_Properties_MouseWheel(object sender, MouseEventArgs e)
{
Rectangle oldrct;
Bitmap bmp;
bmp = (Bitmap)this.pictureEdit1.Image;
oldrct = new Rectangle(0, 0, bmp.Width, bmp.Height);
this.pictureEdit1.Image = bmp;
Bitmap tmpbmp = null;
int i = e.Delta;
if (i > 0)
{
tmpbmp = new Bitmap(bmp.Width * 2, bmp.Height * 2);
}
else
{
tmpbmp = new Bitmap(bmp.Width / 2, bmp.Height / 2);
}
Graphics g = Graphics.FromImage(tmpbmp);
Rectangle newrct = new Rectangle(0, 0, tmpbmp.Width, tmpbmp.Height);
g.DrawImage(bmp, newrct, oldrct, GraphicsUnit.Pixel);//newrct是你的目标矩形位置,oldrct是你原始图片的起始矩形位置
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
//oldrct = oldrct;
pictureEdit1.Image = tmpbmp;
g.Dispose();
pictureEdit1.Update();
}
我当时是这么做的
void PictureBox1MouseEnter(object sender, System.EventArgs e)
{
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.pictureBox1.Height = 600;
this.pictureBox1.Width = 800;
}
void PictureBox1MouseLeave(object sender, System.EventArgs e)
{
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.None;
this.pictureBox1.Height = 150;
this.pictureBox1.Width = 200;
}
清除 pictureBox 控件的图片可以用以下代码实现:(其中 pictureBox1 是控件的name属性)
this.pictureBox1.Image = null;
如果想要动态选择图片文件,进行填充 pictureBox 控件,以下代码对你可能有些帮助:
if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
{
this.pictureBox1.Image=System.Drawing.Bitmap.FromFile(this.openFileDialog1.FileName);
}
C# 图像处理(八)—— 转换图片格式(2008-10-08 22:34:38)标签:c 图像处理 图片格式 it 分类:C#_笔记
其实我起这个题目是有点矛盾的,因为其实这里的内容好像不太符合转换图片格式的内容,而只是在图片另存为的时候指定一下保存的格式而已,不过算了,就这样说一下吧。
在这里,首先需要到saveFileDialog这个控件,我个人觉得这个控件是多余的时间比较多,但是进行保存操作的时候却需要到它来帮忙记录下用户想改的名字,代码如下,
string fileName = this.saveFileDialog.FileName;//用一个字符串变量把文件名记录下来
最后就是结合之前所用的pictureBox控件,通过以下代码可以指定用户想保存图片的格式,例如,
this.pictureBox.Image.Save(fileName + ".bmp", System.Drawing.Imaging.ImageFormat.Bmp);
这是用bmp格式用保存图片,那如果要指定为gif的也可以
this.pictureBox.Image.Save(fileName + ".gif", System.Drawing.Imaging.ImageFormat.Gif);
当然还有其它图片格式的保存方式,如jpg、png、tif、wmf等,这些我都没有了解得很深入,所
我写了下面的代码,可以实现了目的,可是出现了一个小问题,就是:对于保存对话框的“保存”或“取消”都必须单击两次才能完成程序的操作。请各位大侠指点一下,在此先谢了!
SaveFileDialog sf = new SaveFileDialog();
sf.Title = "导出为:";
sf.InitialDirectory = "D://";
sf.Filter = "excel file(.xls)|*.xls|All file(*.*)|*.*";
sf.ShowDialog();
string sfName = sf.FileName;
if (sf.ShowDialog() == DialogResult.OK)
{
try
{
}
catch
{
throw new ArgumentException();
}
}
else
MessageBox.Show("你没有选择路径,请选择正确的存储路径!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
问题补充:呵呵……我已经发现了这个问题了……
自己大意了点,不够细心!
不过还是谢谢了!
提问者: seekel - 助理 二级 最佳答案
//sf.ShowDialog(); <---------把这句话注释掉,多余,你Show了两遍
string sfName = sf.FileName;
if (sf.ShowDialog() == DialogResult.OK)
C#项目信息怎么保存到本地C# 20分
回答:1 浏览:153 提问时间:2009-04-01 11:51
c#项目在重新启动后,之前启动得到的信息就消失了。怎么能把它保存住?就是说能不能在C#项目启动的时候访问一个文件,读取其中的信息,项目关闭的时候在把信息的更改提交到那个文件中?再次启动时得到的是更改后的数据?
一定要连数据库吗?
共0条评论...回答 共1条回答评论 ┆ 举报
红枫
[新手] 一种办法是你自己把这些信息写入一个文件中,程序启动时读入。如果你用C#的序列化功能,这并不复杂。
还有更简单的办法,就是在Project->Properties->Settings中添加一个变量,可以是string,int,看你需要。例如你想记录程序的窗口位置和大小,你可以在Settings中添加变量WindowLocation(类型为System.Drawing.Point),WindowSize(类型为System.Drawing.Size);在OnClosing()中加入
//================================================
Settings.Default.WindowLocation = this.Location;
if (this.WindowState == FormWindowState.Normal)
Settings.Default.WindowSize = this.Size;
else
Settings.Default.WindowSize = this.RestoreBounds.Size;
Settings.Default.Save();
//================================================
程序再启动时读入,在OnLoad()中
//================================================
this.Location = Settings.Default.WindowLocation;
this.Size = Settings.Default.WindowSize;
//================================================
注意要在文件头加入
using your_namespace.Properties;