我们正在使用System.Drawing.Graphics.Drawstring
在图片中撰写文字。下面的代码显示
Bitmap bitMapImage = new System.Drawing.Bitmap(@"D:\ABC\Chart1.png");
Graphics graphicImage = Graphics.FromImage(bitMapImage);
//Smooth graphics is nice.
graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
String drawString = "250";
Font drawFont = new Font("Arial", 12,FontStyle.Bold);
SolidBrush drawBrush = new SolidBrush(Color.White);
PointF drawPoint= new PointF(169.0F, 85.0F); .
graphicImage.DrawString(drawString, drawFont, drawBrush, drawPoint);
//Set the content type
Response.ContentType = "image/jpeg";
//Save the new image to the response output stream.
bitMapImage.Save(Response.OutputStream, ImageFormat.Jpeg);
//Clean house.
graphicImage.Dispose();
bitMapImage.Dispose();
代码采用imagefile并写入字符串(此处:250)。现在,当用户点击250时,新窗口应该打开。
不确定如何获得250的点击事件?
请帮忙!感谢
答案 0 :(得分:1)
这是ASP.NET检测到图像中绘制文本的点击是可能的,但远非理想。您应该使用div或其他html元素渲染文本,方法是将其放在图像上,然后使用javascript检测对该文本的点击。
答案 1 :(得分:0)
将图像渲染到像DIV或SPAN这样的容器会更容易,并向容器添加onclick:
<div onclick="doSomething();">
<!-- rendered image here -->
</div>
您可能还会考虑使用图像地图,如下所示:
function foo() {
alert("Hello World!")
}
<img src="/images/someimage.png" usemap="#somemap" />
<map name="somemap">
<area coords="0,0,82,126" onclick="foo()" nohref="true" href="#" />
</map>