/**/
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="thumbnailPath">缩略图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>
public static void MakeThumbnail(string originalImagePath, string thumbnailPath, int width, int height, string mode)
{
System.Drawing.Image originalImage = System.Drawing.Image.FromFile(originalImagePath);
int towidth = width;
int toheight = height;
int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;
switch (mode)
{
case "HW"://指定高宽缩放(可能变形)
break;
case "W"://指定宽,高按比例
toheight = originalImage.Height * width / originalImage.Width;
break;
case "H"://指定高,宽按比例
towidth = originalImage.Width * height / originalImage.Height;
break;
case "Cut"://指定高宽裁减(不变形)
if ((double)originalImage.Width / (double)originalImage.Height > (double)towidth / (double)toheight)
{
oh = originalImage.Height;
ow = originalImage.Height * towidth / toheight;
y = 0;
x = (originalImage.Width - ow) / 2;
}
else
{
ow = originalImage.Width;
oh = originalImage.Width * height / towidth;
x = 0;
y = (originalImage.Height - oh) / 2;
}
break;
default:
break;
}
//新建一个bmp图片
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
//新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(System.Drawing.Color.Transparent);
//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new System.Drawing.Rectangle(0, 0, towidth, toheight),
new System.Drawing.Rectangle(x, y, ow, oh),
System.Drawing.GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
/**/
/// <summary>
/// 在图片上增加文字水印
/// </summary>
/// <param name="Path">原服务器图片路径</param>
/// <param name="Path_sy">生成的带文字水印的图片路径</param>
protected void AddWater(string Path, string Path_sy)
{
string addText = "51aspx.com";
System.Drawing.Image image = System.Drawing.Image.FromFile(Path);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image);
g.DrawImage(image, 0, 0, image.Width, image.Height);
System.Drawing.Font f = new System.Drawing.Font("Verdana", 60);
System.Drawing.Brush b = new System.Drawing.SolidBrush(System.Drawing.Color.Green);
g.DrawString(addText, f, b, 35, 35);
g.Dispose();
image.Save(Path_sy);
image.Dispose();
}
/**/
/// <summary>
/// 在图片上生成图片水印
/// </summary>
/// <param name="Path">原服务器图片路径</param>
/// <param name="Path_syp">生成的带图片水印的图片路径</param>
/// <param name="Path_sypf">水印图片路径</param>
protected void AddWaterPic(string Path, string Path_syp, string Path_sypf)
{
System.Drawing.Image image = System.Drawing.Image.FromFile(Path);
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Path_sypf);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image);
g.DrawImage(copyImage, new System.Drawing.Rectangle(image.Width - copyImage.Width, image.Height - copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, System.Drawing.GraphicsUnit.Pixel);
g.Dispose();
image.Save(Path_syp);
image.Dispose();
}
protected void Button2_Click(object sender, EventArgs e)
{
//自动保存远程图片
WebClient client = new WebClient();
//备用Reg:<img.*?src=([\"\'])(http:\/\/.+\.(jpg|gif|bmp|bnp))\1.*?>
Regex reg = new Regex("IMG[^>]*?src\\s*=\\s*(?:\"(?<1>[^\"]*)\"|'(?<1>[^\']*)')", RegexOptions.IgnoreCase);
MatchCollection m = reg.Matches(TextBox1.Text);
foreach (Match math in m)
{
string imgUrl = math.Groups[1].Value;
//在原图片名称前加YYMMDD重名名并上传
Regex regName = new Regex(@"\w+.(?:jpg|gif|bmp|png)", RegexOptions.IgnoreCase);
string strNewImgName = DateTime.Now.ToShortDateString().Replace("-", "") + regName.Match(imgUrl).ToString();
try
{
//保存图片
client.DownloadFile(imgUrl, Server.MapPath("ImgUpload/Auto/" + strNewImgName));
}
catch
{
}
finally
{
}
client.Dispose();
}
Response.Write("<script>alert('远程图片保存成功,保存路径为ImgUpload/auto')</script>");
}
}
}
分享到:
相关推荐
功能介绍: 在FCKeditor中复制网页内容时,其中的图片仍然保存在源站点上,...1、将远程图片保存到本地 2、去掉文章中非本地连接 3、图片重命名,根据年月日自动创建文件夹。 本人应用地址:www.emeiy.com qq:80888492
FCKeditor for java2.4 远程保存图片 java版 功能介绍: ...1、将远程图片保存到本地 2、去掉文章中非本地连接 3、图片重命名,根据年月日自动创建文件夹。 本人应用地址:www.emeiy.com qq:80888492
L_SavePath="C:/Documents and Settings/Administrator/桌面/dc88down1/" '本地保存路径 运行同目录下的“Smartserver”即可。然后到L_SavePath对应的目录下去查看复制的图片文件 如远程文件并非在其他服务器上,...
最近遇到了PHP远程图片本地话的问题,查了查手册发现file_get_contents()和file_put_contents()可以解决这个问题。思路很简单,将远程文件读入字符串中,然后按照规则写入指定目录,经测试此法可采集图片、...
1.使用方法:将压缩包解压缩到个目录里,将wwwroot里面的fk266整个目录复制到你的网站里在你的网站加入调用...4.已经加入保存远程的图片到本地的插件,默认是上传到/upfile/年月的目录里,文件路径跟上面的是同一个目录里
‘先下载远程图片 url=\”http://www.im286.com/image… ‘远程图片地址 savepath=\”D:\photo\\” ‘保存路径 ‘为文件重命名 randomize ranNum=int(999*rnd) filename=year(now)&month(now)&day(now)&...
复制代码 代码如下: <?.../** * PHP下载远程图片到本地 * * @param $url string 远程文件地址 * @param $filename string 保存后... * @return json 返回文件名、文件的保存路径 * @author blog.snsgou.com
ASP通过函数来实现替换、保存远程图片,完成自动采集图片、提取图片的功能,函数中自动判断重复图片,智能分析链接路径,并转成成相对的图片地址保存在你指定的网站目录中,我们可将此函数用在后台的编辑器中,当你...
本文将使用PHP实现采集远程图片功能。基本流程: 1、获取目标网站图片地址。 2、读取图片内容。 3、创建要保存图片的路径并命名图片名称。 4、写入图片内容。 5、完成。 我们通过写几个函数来实现这一过程。 函数...
loadimg.php是获取远程jpg和gif文件的路径并上传的文件。 postnew.php 是发新帖 postreply.php 是回复 如果大家想手动修改的话有几步: 1、loadimg.php 不动他,直接上传。 2、编辑postnew.php 找到 ...
打开从网上下载保存的Css样式文件,按照程序第一、二、三、四步进行处理,Css文件中的图片会被保存下来,默认保存路径是Css文件所在目录,并自动修改Css文件中原图片路径地址为相对地址,修改前会自动备份原文件。...
Node.js的Base64文件加载,转换和保存这是将本地和远程文件加载并转换为base64用作字符串或保存在磁盘上的理想方法。 这适用于所有文件类型! 安装npm i js-base64-file类方法方法参数描述加载路径,文件名,回调...
$filename 下载图片保存的文件名,相对路径,不要用realpath$gcookie 调整cookie 伪造的cookie$JumpCount 跳转计数$maxtime 最大次数调用方法:DownImageKeep(“http://huoche.7234.cn/images/jb51/pwuujtjigpf.gif...
1、增加高级工具栏--远程自动上传按钮,实现远程图片保存至本地(站点); 2、修改默认的上传路径(文件夹)为C9默认指定文件夹即为upfile; 3、修改文件上传后的路径模式为绝对全路径(指所有的相关上传或自动插入文件...
PDF转图片如果用Adobe官方提供的接口需要安装Adobe Acrobat X Pro。且网上都是操作剪贴板进行保存,但在web服务中是获取不到粘贴的数据的。 我是用O2S.Components.PDFRender4NET进行转换 并在转换后添加水印效果。
uniapp 生成海报图片base64转换 (微信头像贴在海报上需要base64转换)import { pathToBase64, base64ToPath } from "路径" base64ToPath(res.data.data.poster) .then(path => {}) .catch(error => { ...
4.4正式版升级补丁说明 ...增加批量远程图片保存功能(方便采集时不保存图片 采完后批量下载 增加一键升级程序功能 后台路径:Adnim/adn_index.asp 用户名:admin 密 码:admin888 认证码:adncms
2.屏幕模块,添加键盘发送、图片保存、透明区域截取、全屏模式、屏幕缩放模式、组合键发送=;(核心算法为DG大哥的,博客iamgyg.blog.163.com) 3.更新视频模块,支持USB无驱视频,传输速度流畅,添加 IntelIndeo(R)...
5、修改保存远程图片到本地路径出错的bug 6、静态标签在360最新浏览器无法插入系统标签的bug 7、其他功能增加和bug修改 最新更新:去掉模板里的所有google广告,替换成图片广告,直接可以在后台管理替换。
功能更新情况:1、可以设置路径,文件后缀名2、可以将远程图片保存到本地3、对已知安全问题进行修补