900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 百叶窗效果显示图片源码(c#)

百叶窗效果显示图片源码(c#)

时间:2021-07-06 14:27:53

相关推荐

百叶窗效果显示图片源码(c#)

独角兽企业重金招聘Python工程师标准>>>

显示图片:

this.pictureBox.Image = Image.FromFile("image.jpg", false);

百叶窗有两种显示效果,一种是垂直百叶窗,另一种是水平百叶窗。

实现百叶窗显示图像有两种方式:一是根据窗口或图像 的高度或宽度和定制的百叶窗显示条宽度计算百叶窗的显示的条数量;二是根据窗口或图像的高度或宽度和定制的百叶窗显示条数量计算百叶窗的显示的条宽度。

垂 直百叶窗实现代码如下:

private void button1_Click(object sender, EventArgs e)

{

//垂直百叶窗显示图像

try

{

MyBitmap = (Bitmap)this.pictureBox1.Image.Clone();

int dw = MyBitmap.Width / 30;

int dh = MyBitmap.Height;

Graphics g = this.pictureBox1.CreateGraphics();

g.Clear(Color.Gray);

Point[] MyPoint = new Point[30];

for (int x = 0; x < 30; x++)

{

MyPoint[x].Y = 0;

MyPoint[x].X = x * dw;

}

Bitmap bitmap = new Bitmap(MyBitmap.Width, MyBitmap.Height);

for (int i = 0; i < dw; i++)

{

for (int j = 0; j < 30; j++)

{

for (int k = 0; k < dh; k++)

{

bitmap.SetPixel(MyPoint[j].X + i, MyPoint[j].Y + k, MyBitmap.GetPixel(MyPoint[j].X + i, MyPoint[j].Y + k));

}

}

this.pictureBox1.Refresh();

this.pictureBox1.Image = bitmap;

System.Threading.Thread.Sleep(100);

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "信息提示");

}

}

水平百叶窗实现代码如下:

private void button3_Click(object sender, EventArgs e)

{

//水平百叶窗显示图像

try

{

MyBitmap = (Bitmap)this.pictureBox1.Image.Clone();

int dh = MyBitmap.Height / 20;

int dw = MyBitmap.Width;

Graphics g = this.pictureBox1.CreateGraphics();

g.Clear(Color.Gray);

Point[] MyPoint = new Point[20];

for (int y = 0; y < 20; y++)

{

MyPoint[y].X = 0;

MyPoint[y].Y = y * dh;

}

Bitmap bitmap = new Bitmap(MyBitmap.Width, MyBitmap.Height);

for (int i = 0; i < dh; i++)

{

for (int j = 0; j < 20; j++)

{

for (int k = 0; k < dw; k++)

{

bitmap.SetPixel(MyPoint[j].X + k, MyPoint[j].Y + i, MyBitmap.GetPixel(MyPoint[j].X + k, MyPoint[j].Y + i));

}

}

this.pictureBox1.Refresh();

this.pictureBox1.Image = bitmap;

System.Threading.Thread.Sleep(100);

}

}

catch (Exception ex)

{

MessageBox.Show(ex.Message, "信息提示");

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。