asp.net实现生成缩略图及给原始图加水印的方法示例

2025-05-29 0 57

本文实例讲述了asp.net实现生成缩略图及给原始图加水印的方法。分享给大家供大家参考,具体如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66
using System.IO;

using System.Drawing.Imaging;

private void Button1_ServerClick(object sender, System.EventArgs e)

{

Graphics g=null;

System.Drawing.Image upimage=null;

System.Drawing.Image thumimg=null;

System.Drawing.Image simage=null;

Bitmap outputfile=null;

try

{

string extension = Path.GetExtension(File1.PostedFile.FileName).ToUpper();

string filename = DateTime.Now.ToString("yyyyMMddhhmmss");

string smallpath = Server.MapPath(".")+"/smallimg/";

string bigpath = Server.MapPath(".")+"/bigimg/";

int width,height,newwidth,newheight;

System.Drawing.Image.GetThumbnailImageAbort callb =new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback);

if(!Directory.Exists(smallpath))

Directory.CreateDirectory(smallpath);

if(!Directory.Exists(bigpath))

Directory.CreateDirectory(bigpath);

Stream upimgfile = File1.PostedFile.InputStream;

string simagefile = Server.MapPath("a8logo.jpg"); //要加水印的文件

simage=System.Drawing.Image.FromFile(simagefile);

upimage= System.Drawing.Image.FromStream(upimgfile); //上传的图片

width = upimage.Width;

height = upimage.Height;

if(width>height)

{

newwidth=200;

newheight =(int)((double)height/(double)width * (double)newwidth);

} else

{

newheight=200;

newwidth=(int)((double)width/(double)height * (double)newheight);

}

thumimg = upimage.GetThumbnailImage(newwidth,newheight,callb,IntPtr.Zero);

outputfile=new Bitmap(upimage);

g=Graphics.FromImage(outputfile);

g.DrawImage(simage,new Rectangle(upimage.Width-simage.Width,upimage.Height-simage.Height,upimage.Width,upimage.Height),0,0,upimage.Width,upimage.Height,GraphicsUnit.Pixel);

string newpath = bigpath + filename + extension; //原始图路径

string thumpath = smallpath + filename + extension; //缩略图路径

outputfile.Save(newpath);

thumimg.Save(thumpath);

outputfile.Dispose();

}

catch(Exception ex)

{

throw ex;

}

finally

{

if(g!=null)

g.Dispose();

if(thumimg!=null)

thumimg.Dispose();

if(upimage!=null)

upimage.Dispose();

if(simage!=null)

simage.Dispose();

}

}

public bool ThumbnailCallback()

{

return false;

}

希望本文所述对大家asp.net程序设计有所帮助。

原文链接:http://blog.csdn.net/happymagic/article/details/6880664

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 asp.net实现生成缩略图及给原始图加水印的方法示例 https://www.kuaiidc.com/99132.html

相关文章

发表评论
暂无评论