Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > Нужна помощь в рисовании изображения поверх .PNG


Автор: andreyn 8.4.2008, 09:48
Здравствуйте!Подскажите плз, как реализовать следующее:
человек заходит на страничку, щелкает по рисунку (ImageButton1), в том месте куда он щелкнул должен прорисоваться маленький прямоугольник 2х2пкс поверх картинки. Остальное оформление страницы должно остаться неизменным. У меня не получается одновременно прорисовать и картинку и прямоугольник. Перепробовал кучу методов.
Как вариант можно ничего не прорисовывать на экране, а вносить изменения в файл картинки.Т.е. чел щелкнул по картинке, произошло добавление прямоугольника но без вывода на экран, а затем эти изменения записались в файл (картинка).
Сори если запутано.

Автор: Mymik 8.4.2008, 11:29
Если тебе не нужно изменять файл, то тебе нужно использовать JS который будет рисовать это дело. Найти можешь вот тут вот -->> http://forum.vingrad.ru/index.php?showtopic=151594&view=findpost&p=1136583 Ну а дальше разбирайся и встраивай в свою страницы.

Автор: andreyn 9.4.2008, 18:50
Спасибо! а какие есть варианты решения вопроса средствами самого asp.net?
И потом, оформление должно оставаться неизменным только за пределами ContenyPlaceHolder.
в самом контенте все можно менять. Главное другое, чтобы внесенные изменения сохранялись в этот же файл.

Автор: mr.DUDA 12.4.2008, 12:23
andreyn, можно заюзать GDI+ для этого, см. методы: Image.FromFile, Graphics.FromImage, Graphics.DrawRectangle и Image.Save

Автор: andreyn 15.4.2008, 20:20
Подскажите с чем может быть связана ошибка:

A Graphics object cannot be created from an image that has an indexed pixel format

Код

        System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("maps/spb.png"));
        Graphics g = Graphics.FromImage(img);
        g.FillRectangle(Brushes.Black, e.X, e.Y, 2, 2);

Заранее благодарен!

Автор: Zakonnic 16.4.2008, 16:16
мда...
http://www.google.com/search?client=opera&rls=ru&q=A+Graphics+object+cannot+be+created+from+an+image+that+has+an+indexed+pixel+format&sourceid=opera&ie=utf-8&oe=utf-8

Автор: andreyn 16.4.2008, 22:08
Zakonnic, спасибо!
А кто нибудь сталкивался с такой ситуевиной:
Картинку надо изменить, но без вывода на экран, просто записать изменения в файл.
В конкретном случае добавление квадратика 10х10 в определенное место на существующей картинке JPG.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)