问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp 上传图片加水印后添加到数据库

发布网友 发布时间:2022-05-19 16:58

我来回答

5个回答

懂视网 时间:2022-05-19 21:20

代码如下:
// 涉及命名空间
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Web;
using System.Configuration;

// 方法
public void AddUser(string PersonName, string PersonEmail, string PersonSex, string PersonDOB, string PersonImage, string PersonImageType)
{
string strImageType = userImage.PostedFile.ContentType;
Stream ImageStream = userImage.PostedFile.InputStream;

// 加水印----------------->
string wImageFile = Server.MapPath("/bkwww/image/HomeSign.gif"); // 要加的水印图
Image sImage = Image.FromStream(ImageStream); // 从 Http 输入流创建 image
Image wImage = Image.FromFile(wImageFile);

// 绘图
Graphics g = Graphics.FromImage(sImage);
g.DrawImage(wImage, new Rectangle(0, 0, wImage.Width, wImage.Height), 0, 0, wImage.Width, wImage.Height, GraphicsUnit.Pixel);

// 保存,并将 image 转化为 byte[]
MemoryStream ms=new MemoryStream();
byte[] myImage=null;
sImage.Save(ms, ImageFormat.Gif);
myImage = ms.GetBuffer();
//------------------------>



// 写入数据库
string strConn = ConfigurationSettings.AppSettings["ConnectionString"];
SqlConnection myConnection = new SqlConnection(strConn);
SqlCommand myCommand = new SqlCommand("sp_person_isp", myConnection);
myCommand.CommandType = CommandType.StoredProcedure;

myCommand.Parameters.Add("@PersonEmail", SqlDbType.VarChar, 255).Value = PersonEmail;
myCommand.Parameters.Add("@PersonName", SqlDbType.VarChar, 255).Value = PersonName;
myCommand.Parameters.Add("@PersonSex", SqlDbType.Char, 1);
if(sexMale.Checked)
myCommand.Parameters["@PersonSex"].Value = "M";
else
myCommand.Parameters["@PersonSex"].Value = "F";
myCommand.Parameters.Add("@PersonDOB", SqlDbType.DateTime).Value = PersonDOB;
myCommand.Parameters.Add("@PersonImage", SqlDbType.Image).Value = myImage;
myCommand.Parameters.Add("@PersonImageType", SqlDbType.VarChar, 255).Value = ImageType;

try
{
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
Response.Write("添加成功!");
}
catch(System.Exception SqlEx)
{
Response.Write("添加失败!"+SqlEx.ToString());
}
}

热心网友 时间:2022-05-19 18:28

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.IO;

public partial class BookImg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string id = Request.QueryString["id"];

string path = "images/" + id + ".jpg";
string bookPath = Request.MapPath(path);

System.Drawing.Image bookImg = null;
if (File.Exists(bookPath))
{
bookImg = System.Drawing.Image.FromFile(bookPath);

string waterPath = Request.MapPath("images/WaterMark.jpg");
System.Drawing.Image waterImg = System.Drawing.Image.FromFile(waterPath);

Graphics g = Graphics.FromImage(bookImg);
g.DrawImage(waterImg, bookImg.Width - waterImg.Width, bookImg.Height - waterImg.Height, waterImg.Width, waterImg.Height);
// g.DrawImage(waterImg,new Rectangle(bookImg.Width - waterImg.Width, bookImg.Height - waterImg.Height, waterImg.Width, waterImg.Height),0,0,waterImg.Width,waterImg.Height,GraphicsUnit.Pixel);

g.Dispose();
waterImg.Dispose();
}
else
{
bookPath = Request.MapPath("images/default.jpg");
bookImg = System.Drawing.Image.FromFile(bookPath);
}

Response.ContentType = "image/jpeg";
bookImg.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

bookImg.Dispose();
Response.End();
}
}

热心网友 时间:2022-05-19 19:46

啊 那样的话,数据库会变的非常巨大的。

一般来说,都是上传图片到指定路径,然后把图片路径存在数据库中。

热心网友 时间:2022-05-19 21:20

这个解决很繁琐,你最好不要这样弄,放数据库会使数据库变得很大,速度变慢的。

参考资料:http://www.tjanju.cn

热心网友 时间:2022-05-19 23:12

保存到数据库不太现实吧,就算是公司网站也不应该这么做,没有必要
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见好多鱼在水里活蹦乱跳 教你如何将让reaver PIN 进度随意更改精确前四位 求个保存PIN进度的方法 ...不上外接键盘,但鼠标一直有用,谁能告诉我怎么回事,先谢了。。_百度... 相机SD卡,卡上图片电脑显示不出来 相机SD卡用读卡器插到电脑上DCIM文件夹不显示照片怎么解决? win10查询错误日志的方法-win10怎么查询错误日志 电脑系统日志文件如何查看电脑里的系统日志 电脑事件日志在哪里看怎样查看电脑使用的日志 win11系统日志在哪里看 win11系统日志怎么看 为什么我进入pe系统后读不起u盘呢 为什么WINDOWS PE下不能读U盘 为什么有的黄瓜吃着是苦的,有什么危害吗? 紫砂壶泥料好与泥料差对茶味道的区别 优质的紫砂壶有泥味吗 新买的紫砂壶有股淡淡的农药气味? 请示,通知,等一些公文结尾怎么写?到底是盖章还是写单位,还是俩都写? 公文末页只有成文日期和版记可以吗?谢谢 设计一个JSP网站的毕业设计时,在后台管理员登录时应该怎么验证呢? PHP后台登录验证问题 网站后台的登录验证,使用session好呢还是cookie,或者是js直接在页面上验证,请高手指点 asp制作后台登陆验证 登陆一个网站的后台需要验证,也就是说需要服务器证书才可以,怎么实现的? 代餐产品能减肥吗? 谷子熟了代餐能减肥吗 请大家举一实例说明坚持一切从实际出发,实事求是的重要性? 求,关于实事求是的小例子,生活中的,要3个,100字就好, 实事求是的例子 强制申请递交后15天能拿到钱吗 房地产公司申请破产后,普通债权能拿到钱吗? 佛山平洲都有哪些大菜市场 在广东佛山南海平州夏西坐什么车到佛山禅城区同华路12? - 信息提示 南海市平洲夏西祥盛五金喷涂厂怎么样? 广州火车站到佛山南海区平州夏西工业区怎么走 南海福众诊所的具体地址是在哪里呢 谁知道佛山平洲夏西圆通快递收件电话? 南海平洲哪里有夜校读, 谁能告诉尸体腐化的详细过程? 合肥某出租屋内惊现高度腐烂尸体,是如何发现的? 合肥一出租屋现高度腐烂尸体,警察对此有何表示? 门窗封死,尸体高度腐烂,合肥出租屋的死者被判定自杀的原因是什么? 案件回顾:杀人抛尸水塔,被发现时已经有近千人饮用此水,后来怎样? 尸体高度腐烂,能查出腐烂原因与时间吗? 合租房惊现高度腐烂尸体,为何尸体变臭其他租客没有闻到异味? 尸体高度腐烂法医怎么鉴定死亡时间 尸体高腐是什么意思? 尸体高度腐烂,法医能鉴定出生前伤吗? 尸体高度腐烂后还能查出死因吗 当事人意外坠海,发现时头部已白骨化,尸体高度*,还能签定出具体死亡时间吗?