Получить событие клика для графики в asp.net - PullRequest
2 голосов
/ 03 октября 2011

Мы пишем текст на изображении, используя 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();

Код берет файл изображения и записывает строку (здесь: 250). Теперь, когда пользователь нажимает 250, открывается новое окно.

Не знаете, как получить событие клика 250?

Пожалуйста, помогите! Спасибо

Ответы [ 2 ]

1 голос
/ 03 октября 2011

Это ASP.NET, обнаружение щелчка по нарисованному тексту на изображении возможно, но далеко от идеала. Вместо этого вы должны визуализировать текст, используя div или другой html-элемент, расположив его над изображением и обнаруживая щелчки по нему вместо этого, используя javascript.

См. Текстовые блоки поверх изображения

0 голосов
/ 03 октября 2011

Было бы проще визуализировать изображение в контейнер, такой как DIV или SPAN, и добавить щелчок к контейнеру:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...