C# web 服务端图片翻转 保存 请教

bustersword 2011-01-31 11:53:48
获取图片bitmap,怎么处理翻转,然后保存呢
...全文
310 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bustersword 2011-02-04
  • 打赏
  • 举报
回复
感谢各位的回答,来结贴了,我要的是服务端的,给位会带都有帮助,我就加了个随机数
wuyq11 2011-01-31
  • 打赏
  • 举报
回复
Graphics.TranslateTransform
string filePath =@"C:\a.jpg";
using (Bitmap bm = new Bitmap(500,500))
{
using (Graphics g = Graphics.FromImage(bm))
{
g.Clear(Color.Wheat);
g.TranslateTransform(0, 0, MatrixOrder.Prepend);
g.RotateTransform(45);
FontFamily ff = new FontFamily("宋体");
Font f =new Font(ff,10);
Brush b = new SolidBrush(Color.Black);
StringFormat sf = new StringFormat();
g.DrawString("", f, b, new PointF(10, 10), sf);
g.DrawString("", f, b, new PointF(10, 10 + 30 + 10), sf);
}
bm.Save(filePath, ImageFormat.Jpeg);
}
http://topic.csdn.net/u/20100830/12/85057b20-457c-42b5-81a3-e564072a8fcd.html
colorall 2011-01-31
  • 打赏
  • 举报
回复
LZ是要服务端还是客户端
服务端:image.RotateFlip(RotateFlipType.Rotate90FlipX);
客户端:滤镜filter,似乎IE支持
wuyq11 2011-01-31
  • 打赏
  • 举报
回复
Canvas
http://www.1lou.net/school/Javascript/0513143H010.html
<script type="text/javascript">
function rotateImage(HTMLControlID,degree) {
if(window.navigator.userAgent.indexOf('MSIE') > -1)
{
//处理IE浏览器
var imageToRotate = document.getElementById(HTMLControlID);

imageToRotate.style.filter= "progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand')";
var deg2radians = Math.PI * 2 / 360;
var degreeToRotate =degree // 旋转度数;
rad = degreeToRotate * deg2radians ;
costheta = Math.cos(rad);
sintheta = Math.sin(rad);

imageToRotate.filters.item(0).M11 = costheta;
imageToRotate.filters.item(0).M12 = -sintheta;
imageToRotate.filters.item(0).M21 = sintheta;
imageToRotate.filters.item(0).M22 = costheta;

var w=document.getElementById(HTMLControlID).width;
var h=document.getElementById(HTMLControlID).height;

document.getElementById(HTMLControlID).width=h;
document.getElementById(HTMLControlID).height=w;
n+=1;
if(n<2)
{
rotateImage(HTMLControlID,degree);
}
else
{
n=0;
}

}
}
</script>
wuyq11 2011-01-31
  • 打赏
  • 举报
回复
UpdateMode="Conditional"
?="+DateTime.Now
bustersword 2011-01-31
  • 打赏
  • 举报
回复
[讨论]updatepanel中image图片更新问题

情况如下:
updatepanel 中有一个asp:Image控件,页面加载时,就设置了该Image.Imageurl = "a.jpg"。

现在其他程序修改了图片a.jpg的内容,并不改变文件名和文件路径。然而Image中显示的图片仍然是原来未改过的a.jpg样子。

重新赋值Image.Imageurl = "a.jpg"也不管用。

手动点刷新整个网页也没用。非要关了浏览器重新打开才显示修改后的结果。

请问该如何解决?
你UpdatePanel的trigger写了没啊!还有如果你要修改图片的话!应该要将图片上传的时候获取路径啊!然后在将你新上传的这张图片保存。然后在页面显示!
引用 2 楼 huminghua 的回复:
...应该要将图片上传的时候获取路径啊!然后在将你新上传的这张图片保存。然后在页面显示!

没有用过,帮顶
个人感觉应该是页面缓存的问题,但是不知如何解决。
涉及到页的生命周期! 还有updatepanel 局部刷新
不知道你具体是怎么写的
引用 6 楼 wapdos 的回复:
涉及到页的! 还有updatepanel 局部刷新
不知道你具体是怎么写的

高手今天都不在线?
还是自己解决了,加随机数搞定。

唉。。。。。无语得很,结贴结贴。
想要分直接帮顶就完了么,写些不着边际莫名其妙的话,唉。。。。
我很 淡定..............................

这是我网上找的,和我很像,希望有人知道怎么弄
jianshao810 2011-01-31
  • 打赏
  • 举报
回复
自己写 ajax,其实可以传到 ashx 文件,然后输出图片,或者传到 一个 页面,那个页面是写出图片,像验证码。。

private void CreateCheckCodeImage(string checkCode)
{
if (checkCode == null || checkCode.Trim() == String.Empty)
return;

System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 18.5)), 22);
Graphics g = Graphics.FromImage(image);

try
{
//生成随机生成器
Random random = new Random();

//清空图片背景色
g.Clear(Color.White);

//画图片的背景噪音线
for (int i = 0; i < 5; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height);

g.DrawLine(new Pen(Color.Aqua), x1, y1, x2, y2);
}
// checkCode = checkCode.inse
//华文宋体 Times New Roman
Font font = new System.Drawing.Font("Times New Roman", 15, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(checkCode, font, brush,8, 2);

//画图片的前景噪音点
for (int i = 0; i < 10; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height);

image.SetPixel(x, y, Color.FromArgb(random.Next()));
}

//画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);

System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
ms.Close();
ms = null;
}
finally
{
g.Dispose();
image.Dispose();
}
}
bustersword 2011-01-31
  • 打赏
  • 举报
回复
感谢回答,我现在的问题又来了,image控件放在updatepanel里面,翻转图片没有局部刷新,很奇怪,我按钮事件里重新赋值imageurl了,怎么没用呢
难道这两控件不兼容?
zjj0440 2011-01-31
  • 打赏
  • 举报
回复
可以取得每个象素的x,y坐标,然后调换...
bustersword 2011-01-31
  • 打赏
  • 举报
回复
http://localhost:19344/IMPSystem.WebUI/BusinessCardPicture/CardTest/20110128/Task001/aaa-003.jpg
请问,我要得到这样的地址,该怎么写
bustersword 2011-01-31
  • 打赏
  • 举报
回复
楼上的可以在浏览器里执行吗

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧