Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Растянуть изображение Добавлено: 25.04.06 20:35  

Автор вопроса:  LeX | Web-сайт: www.vbkoders.info | ICQ: 301424893 
Как можно растянуть изображение, помещенное в image или picturebox (куда именно - не имеет значения) без потери качества. Stretch - растягивает с очень большой потерей качества...:( Как можно хотя бы уменьшить его?

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #1 Добавлено: 25.04.06 22:24
на пхп хорошая дллка есть, х.з. мож можно её и к ВБ прикрутить, я про php_gd2.dll Она очень аккуратно умеет растягивать, сжимать, менять качество jpg итп...

Ответить

Номер ответа: 2
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #2
Добавлено: 26.04.06 14:49
а если в сторону API поглядеть?

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 26.04.06 16:04
у мя нема щас не проги чтобы посмотреть что она экспортирует, и нема времени чтобы разобрать что она возвращает.

Ответить

Номер ответа: 4
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #4 Добавлено: 26.04.06 18:57
Растянуть изображение без потери качества возможно только для векторных изображений. С растром тебе даже фотошоп не поможет. Для проверки попробуй на нем сделать из иконки обои рабочего стола. Число фильтров не ограничено ;)
Есть хитрые алгоритмы сглаживания, но потеря качества в этом случае неминуема.

Ответить

Номер ответа: 5
Автор ответа:
 someone



Вопросов: 215
Ответов: 1596
 Web-сайт: 123
 Профиль | | #5
Добавлено: 26.04.06 19:22
Конечно, обойтись без потерь в графике, имхо, невозможно. Как вывод:
1) создай более высококачественное изображение
2) или попробуй увеличить изображение в продвинутом графическом редакторе.

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 27.04.06 01:18
GD использует таблицу PHP-функций, а не просто импорт, и сама активно использует функции ядра PHP, т.е. другой DLL для приема/обработки/возвращения данных. Так что что-то написать можно, разве что, отталкиваясь от исходников, но никак от скомпилированной DLL.

Ответить

Номер ответа: 7
Автор ответа:
 LeX



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #7
Добавлено: 27.04.06 15:55
Мне необязательно совсем без потери... Хотя бы уменьшить ее до минимума...

Ответить

Номер ответа: 8
Автор ответа:
 Victor



ICQ: 345743490 

Вопросов: 42
Ответов: 385
 Web-сайт: vt-dbnz.narod.ru
 Профиль | | #8
Добавлено: 04.05.06 14:17
Вообще-то, если говорить о процессе УВЕЛИЧЕНИЯ размеров рисунка, то потерь, вообще говоря, нет. Наоборот, исходный рисунок приобретает новую дополнительную информацию. То есть исходный рисунок можно восстановить по растянутому. (это, конечно, зависит от алгоритма, но по тому, что производит Image это можно всегда)
Однако качество большого рисунка, конечно, получается фиговое.

Чтобы большой рисунок имел хорошее качество, надо иметь оригинал по крайней мере того же размера.

Совсем другая история с векторной графикой. Там от увеличения размеров действительно рисунок становится лучше.

Так что чтобы рисунок в Image растянулся идеально, он должен быть чисто векторный. Для этого надо просто создать метафайл (wmf) и засунуть его в свойство Picture.

На счет растяжения растровой графики с билинейной интерполяцией - могу поделиться кодом.

К тому же, Windows можно заставить это сделать (API: StretchBlt после применения SetStretchBltMode). Только результат, может быть, будет зависеть от видеокарточки и от драйвера.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам