discuz透明水印源码(discuz水印设置)

纸扎戏偶

本篇文章给大家谈谈discuz透明水印源码,以及discuz水印设置对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

  • 1、谁能给个asp.net的图片水印源码啊
  • 2、discuz x2.5水印怎么设置,然后上传?求解
  • 3、怎样给Discuz,X1.5论坛添加水印设置

谁能给个asp.net的图片水印源码啊

using System;

using System.IO;

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Web;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

public class ImgHelper

{

/// summary

/// 功能生成小图,+版权信息(图片水印)

/// /summary

/// param name="path"要保存的实际路径/param

/// param name="file"aspx页面中的上传控件/param

/// param name="width"宽/param

/// param name="height"高/param

/// param name="mode"裁剪方式:hw指定高宽缩放(自动分析长宽比)、w指定宽,高按比例、h指定高,宽按比例、cut指定高宽裁减/param

/// param name="strInfo"版权信息/param

/// param name="left"左边位置/param

/// param name="top"上边位置/param

/// returns返回经过处理后的文件名/returns

public static string GetSamilImageAddCopyrightByImg(string path, FileUpload file, int width, int height, string mode, string Path_sypf)

{

string FileName = filename(file);

Path_sypf = path + Path_sypf;

if (File.Exists(FileName) == false)

{

file.PostedFile.SaveAs(path + FileName);//保存原图

System.Drawing.Image oldimage = System.Drawing.Image.FromFile(path + FileName);

System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Path_sypf);

System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(oldimage);

g.DrawImage(copyImage, new System.Drawing.Rectangle(oldimage.Width - copyImage.Width,

oldimage.Height - copyImage.Height, copyImage.Width, copyImage.Height),

0, 0, copyImage.Width, copyImage.Height, System.Drawing.GraphicsUnit.Pixel);

string YFileName = "y_" + FileName;

switch (file.PostedFile.FileName.Split(".".ToCharArray())[1].ToUpper())

{

case "JPEG":

oldimage.Save(path + YFileName, System.Drawing.Imaging.ImageFormat.Jpeg);

break;

case "JPG":

oldimage.Save(path + YFileName, System.Drawing.Imaging.ImageFormat.Jpeg);

break;

case "GIF":

oldimage.Save(path + YFileName, System.Drawing.Imaging.ImageFormat.Gif);

break;

case "PNG":

oldimage.Save(path + YFileName, System.Drawing.Imaging.ImageFormat.Png);

break;

case "BMP":

oldimage.Save(path + YFileName, System.Drawing.Imaging.ImageFormat.Bmp);

break;

default:

oldimage.Save(path + YFileName, System.Drawing.Imaging.ImageFormat.Jpeg);

break;

}

int towidth = width;

int toheight = height;

int x = 0;

int y = 0;

int ow = oldimage.Width;

int oh = oldimage.Height;

float owh = ((float)ow) / ((float)oh);

switch (mode)

{

case "hw"://指定高宽缩放(自动分析长宽比)

if (ow = oh)

{

towidth = width;

toheight = Convert.ToInt32((float)towidth / owh);

}

else

{

toheight = height;

towidth = Convert.ToInt32((float)toheight * owh);

}

break;

case "w"://指定宽,高按比例

toheight = oldimage.Height * width / oldimage.Width;

break;

case "h"://指定高,宽按比例

towidth = oldimage.Width * height / oldimage.Height;

break;

case "cut"://指定高宽裁减(不变形)

if ((double)oldimage.Width / (double)oldimage.Height (double)towidth / (double)toheight)

{

oh = oldimage.Height;

ow = oldimage.Height * towidth / toheight;

y = 0;

x = (oldimage.Width - ow) / 2;

}

else

{

ow = oldimage.Width;

oh = oldimage.Width * height / towidth;

x = 0;

y = (oldimage.Height - oh) / 2;

}

break;

default:

break;

}

//新建一个bmp图片,并制定宽高

System.Drawing.Image thumbnailImage = new System.Drawing.Bitmap(towidth, toheight);

//新建一个画板

Graphics newpic = System.Drawing.Graphics.FromImage(thumbnailImage);

//设置高质量插值法

newpic.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

//设置高质量,低速度呈现平滑程度

newpic.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

//清空画布并以透明背景色填充

newpic.Clear(Color.Transparent);

//在指定位置并且按指定大小绘制原图片的指定部分

newpic.DrawImage(oldimage, new Rectangle(0, 0, towidth, toheight),

new Rectangle(x, y, ow, oh), GraphicsUnit.Pixel);

string S_FileName = "s_" + FileName;

switch (file.PostedFile.FileName.Split(".".ToCharArray())[1].ToUpper())

{

case "JPEG":

case "JPG":

thumbnailImage.Save(path + S_FileName, System.Drawing.Imaging.ImageFormat.Jpeg);

break;

case "GIF":

thumbnailImage.Save(path + S_FileName, System.Drawing.Imaging.ImageFormat.Jpeg);

break;

case "PNG":

thumbnailImage.Save(path + S_FileName, System.Drawing.Imaging.ImageFormat.Png);

break;

case "BMP":

thumbnailImage.Save(path + S_FileName, System.Drawing.Imaging.ImageFormat.Jpeg);

break;

default:

thumbnailImage.Save(path + S_FileName, System.Drawing.Imaging.ImageFormat.Jpeg);

break;

}

thumbnailImage.Dispose();

copyImage.Dispose();

g.Dispose();

oldimage.Dispose();

File.Delete(path + FileName);

return S_FileName;//返回处理后的图片名称

}

else//如果图片已经存在则返回""

{

return "";

}

}

/// summary

/// 生成文件名(包括路径)

/// /summary

/// param name="file"上传控件/param

/// param name="filesrc"上传到的目录/param

/// returns根据当前时间并加入随机数/returns

public static string filename(FileUpload file)

{

//得到当前时间精确到毫秒

string FileName = DateTime.Now.ToString("yyMMddHHmmss") + DateTime.Now.Millisecond.ToString();

//得到随机数

char[] s = new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G'

,'J','K','L','M','N','P','Q','R','T','U','V','W'

,'X','Z'};

string num = "";

Random r = new Random();

for (int i = 0; i 6; i++)

{

num += s[r.Next(0, s.Length - 1)].ToString();

}

//得到文件上传路径

string[] FileSrc = file.PostedFile.FileName.Split(@"\".ToCharArray());

string YFileName = FileSrc[FileSrc.Length - 1];

//得到文件扩展名

string FileEx = YFileName.Split('.')[1].ToUpper();

//得到文件名并返回

return FileName + num + "." + FileEx;

}

}

discuz x2.5水印怎么设置,然后上传?求解

后台-全局-水印设置,然后要修改的水印图片,“如果设置 GIF 类型的文件作为水印,水印图片为 static/image/common/watermark.gif,如果设置 PNG 类型的文件作为水印,水印图片为 static/image/common/watermark.png,您可替换水印文件以实现不同的水印效果。”

切记:不是模板下面修改水印图片,需要修改的水印图片在Discuz_X2.5_SC_GBK\upload\static\image\common,也就是你根目录下的static文件夹。

怎样给Discuz,X1.5论坛添加水印设置

设置水印功能,主要是为了防止其他地方盗用你的图片,另外水印图片设置为自己的网站名称等,可以起到宣传的作用,开启水印功能后,系统会自动为用户上传的 JPG/PNG/GIF 图片附件添加水印,这里包括文章、论坛和空间相册的水印设置。

工具/原料

Discuz! X1.5

步骤/方法

1

1、水印的开启。请在此选择水印添加的位置(3x3 共 9 个位置可选)。不支持动画 GIF 格式。

2

2、水印添加条件。设置水印添加的条件,小于此尺寸的图片附件将不添加水印。

3

3、水印图片类型:共有三种类型,GIF类型、PNG类型和文本类型水印。

1)如果设置 GIF 类型的文件作为水印,水印图片为 static/image/common/watermark.gif。

2)如果设置 PNG 类型的文件作为水印,水印图片为 static/image/common/watermark.png。

你可替换水印文件以实现不同的水印效果,比如改为自己想要的图片。

3)如果设置文本类型的水印并且使用 GD 图片处理库,那么还需要 FreeType 库支持才能使用。

4

4、水印融合度。设置 GIF 类型水印图片与原始图片的融合度,范围为 1~100 的整数,数值越大水印图片透明度越低。PNG 类型水印本身具有真彩透明效果,无须此设置。本功能需要开启水印功能后才有效。

5

5、JPEG 水印质量。设置 JPEG 类型的图片附件添加水印后的质量参数,范围为 0~100 的整数,数值越大结果图片效果越好,但尺寸也越大。本功能需要开启水印功能后才有效。

6

6、文本水印文字。如果你指定的 TrueType 字体为中文字体文件,那么你可以在文本水印中书写中文。

7

7、文本水印 TrueType 字体文件名。填写存放在 static/image/seccode/font/ch/ 或 static/image/seccode/font/en/ 目录下的 TTF 字体文件,支持中文字体。如使用中文 TTF 字体请使用包含完整中文汉字的字体文件。

8、文本水印字体大小。设置文本水印字体大小,请按照字体设置相应的大小。

9、文本水印显示角度。0 度为从左向右阅读文本。

10.文本水印字体颜色。可以直接选择颜色,也可以输入 16 进制颜色代表文本水印字体颜色。

11、文本水印阴影横向偏移量。设置文本水印阴影横向偏移量,此数值不宜设置的太大。

12、文本水印阴影纵向偏移量。设置文本水印阴影纵向偏移量,此数值不宜设置的太大。

13、文本水印阴影颜色。可以直接选择颜色,也可以输入 16 进制颜色代表文本水印阴影字体颜色。

14、文本水印横向偏移量(ImageMagick)。设置水印文本输出后向屏幕中央的横向的偏移值。本设置只适用于 ImageMagick 图片处理库。

15、文本水印纵向偏移量(ImageMagick)。设置水印文本输出后向屏幕中央的纵向的偏移值。本设置只适用于 ImageMagick 图片处理库。

16、文本水印横向倾斜角度(ImageMagick)。设置水印文本横向的倾斜角度。本设置只适用于 ImageMagick 图片处理库。

17、文本水印纵向倾斜角度(ImageMagick)。设置水印文本纵向的倾斜角度。本设置只适用于 ImageMagick 图片处理库。

关于discuz透明水印源码和discuz水印设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

文章版权声明:除非注明,否则均为我爱教程术原创文章,转载或复制请以超链接形式并注明出处。