Получить событие щелчка для графики в asp.net

#.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>