#.net #asp.net #visual-studio #charts
#.net #asp.net #visual-studio #Диаграммы
Вопрос:
Мы пишем текст на изображении, используя System.Drawing.Graphics.Drawstring
. Ниже показан код
Bitmap bitMapImage = new System.Drawing.Bitmap(@"D:ABCChart1.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();
Код принимает файл изображения и записывает строку (здесь: 250).Теперь, когда пользователь нажимает 250, должно открыться новое окно.
Не уверен, как получить событие щелчка 250?
Пожалуйста, помогите! Спасибо
Ответ №1:
Это ASP.NET обнаружение щелчка по нарисованному тексту на изображении возможно, но далеко от идеала. Вместо этого вы должны отображать текст, используя div или другой html-элемент, расположив его над изображением, и обнаруживать щелчки по нему, используя вместо этого javascript.
Смотрите текстовые блоки поверх изображения
Ответ №2:
Было бы проще отобразить изображение в контейнере, таком как 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>