Здравствуйте, sheinv, Вы писали:
S>Здравствуйте, уважаемые господа!
S>Возможно ли на клиенте через объектную модель Internet Explorer динамически программно без доступа к внешним файлам сформировать картинку?
S>Спасибо заранее.
Придётся использовать всякие некрасивые трюки. Например, таблицу 300 на 200 ячеек, каждая размером пиксел на пиксел и у каждой свой цвет фона. В итоге получится сделать эдакую "картинку" 300 на 200.
Здравствуйте, Oyster, Вы писали:
O>Придётся использовать всякие некрасивые трюки. Например, таблицу 300 на 200 ячеек, каждая размером пиксел на пиксел и у каждой свой цвет фона. В итоге получится сделать эдакую "картинку" 300 на 200.
Пример такой "растровой" таблицы
Действовать действует, только с практической точки зрения бессмысленно из-за большого объёма файла (170 кБ в данном случае) и долгой загрузки (пока он рассчитает каждый пиксел из 113х150). Искренне не рекомендую — проще загрузить новую картинку с самого начала.
Здравствуйте, bopka_, Вы писали:
O>>Придётся использовать всякие некрасивые трюки. Например, таблицу 300 на 200 ячеек, каждая размером пиксел на пиксел и у каждой свой цвет фона. В итоге получится сделать эдакую "картинку" 300 на 200.
_>Пример такой "растровой" таблицы _>Действовать действует, только с практической точки зрения бессмысленно из-за большого объёма файла (170 кБ в данном случае) и долгой загрузки (пока он рассчитает каждый пиксел из 113х150). Искренне не рекомендую — проще загрузить новую картинку с самого начала.
Полностью согласен — это изврат. Но речь шла о том, как на клиенте динамически сооружить картинку. Имхо это единственный возможный путь (если на чистом JS+DOM).
Здравствуйте, Oyster, Вы писали:
O>Полностью согласен — это изврат. Но речь шла о том, как на клиенте динамически сооружить картинку. Имхо это единственный возможный путь (если на чистом JS+DOM).
ИМХО, это можно использовать для каких-нибудь сложных комбинаций с маленькими иконками (16х16). Но опять же, можно сделать то же самое классическим
...
img = new Image();
img.src = "cat.jpg";
...
или динамически изменяемым фоном.
Но, когда "творил" эту страничку — изрядно повеселился. Кто-нибудь захочет записать, а картинки-то и нет. Типа "Вася проснётся, а голова — в тумбочке"
Здравствуйте, bopka_, Вы писали:
O>>Полностью согласен — это изврат. Но речь шла о том, как на клиенте динамически сооружить картинку. Имхо это единственный возможный путь (если на чистом JS+DOM).
_>ИМХО, это можно использовать для каких-нибудь сложных комбинаций с маленькими иконками (16х16). Но опять же, можно сделать то же самое классическим _>
_>...
_>img = new Image();
_>img.src = "cat.jpg";
_>...
_>или динамически изменяемым фоном. _>Но, когда "творил" эту страничку — изрядно повеселился. Кто-нибудь захочет записать, а картинки-то и нет. Типа "Вася проснётся, а голова — в тумбочке" _>
Или я тебя не понимаю, или ты меня. Представь, что на клиенте надо нарисовать картинку попиксельно с нуля. Вот эта ситуация и рассматривается... и альтернатив, кроме указанной мной, на чистом JS+DOM просто нет (хотя делать так всё равно не рекомендуется).
Здравствуйте, Oyster, Вы писали:
O>Или я тебя не понимаю, или ты меня. Представь, что на клиенте надо нарисовать картинку попиксельно с нуля. Вот эта ситуация и рассматривается... и альтернатив, кроме указанной мной, на чистом JS+DOM просто нет (хотя делать так всё равно не рекомендуется).
Нет-нет, я тебя понял. Просто даже в этом случае проще сгенерить картинку на сервере.
А такой метод (замена пикселов фоновым цветом) хорошо работает, например, для динамически генерируемых столбиковых диаграмм (когда есть большие поля одинакового цвета).
Здравствуйте, sheinv, Вы писали:
S>Возможно ли на клиенте через объектную модель Internet Explorer динамически программно без доступа к внешним файлам сформировать картинку?