Изменить разрешение картинки

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Punisher
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 02.12.2003 (Вт) 2:36

Изменить разрешение картинки

Сообщение Punisher » 02.12.2003 (Вт) 2:40

Подскажите каким образом можно изменить сабж, например у меня изображение в файле sample.jpg с разрешением 400х200,а мне надо из него сделать 40х20 и сохранить в аналогичный файл...

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 26.06.2004 (Сб) 12:26

Разрешение у экрана, у картинки - размеры.
Начит вариант 1 (плохой):
Берём в новую картинку пихаем 1, 11, 21 и т. д. пиксели первой картинки.
Вариант 2 (хороший):
берём высчитываем для каждого 1, 11, 21 и т. д. пикселя средний цвет соседних 10х10 пикселей (включая этот) и пишем во вторую картинку.
Я знаю верный путь

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 26.06.2004 (Сб) 12:42

:shock: :shock: Чето я не врубил что написал Hell /HiLevel Bot/ но есть Апи функа StretchBlt
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 26.06.2004 (Сб) 13:11

Блин, смотри сюда:

Код: Выделить всё
qwerty
aSdfGh
zxcvbn
йцукен
фЫваПр
ячсмит


Это матрица с нашей картинкой.
Большими буквами помечены пиксели, стоящие в середине каждой области 3х3.
Уменьшаем её в 3 раза 1-м способом:

Код: Выделить всё
sg
ып


Уменьшаем 2-м способом:

1=(q+w+e+a+s+d+z+x+c)/9
2=(r+t+y+f+g+h+v+b+n)/9
3=(й+ц+у+ф+ы+в+я+ч+с)/9
4=(к+е+н+а+п+р+м+и+т)/9

Результат:

Код: Выделить всё
12
34
[/code]

Первый способ плох тем, что не учитываются пиксели, стоящие по бокам от пикселей, написанных большими буквами.
Второй способ учитывает и их.

Теперь понятно?
Я знаю верный путь

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 26.06.2004 (Сб) 13:14

Hell /HiLevel Bot/ правильно написал, но, по-моему (картинка такая же получается) такой же алгоритм используется в Image (Stretch).
По этому, по-моему, проще использовать Image со свойством Stretch, либо, действительно, ф-цию StretchBlt.

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 26.06.2004 (Сб) 13:33

Ну это зависит от того, что ему конкретно надо:
Отобразить смасштабированное или писануть в файл.
Я высказал только алгоритм, писать который на ВБ хуже, чем заюзать апи, который делает тоже самое.
Я знаю верный путь

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 26.06.2004 (Сб) 13:44

После StretchBlt вообще фигня какая-то получается... Ей только растягивать можно, сжимать - нет! :?
Вообще - самая лучшая растягивалка / сжималка - Photoshop! :D

Если интересно посмотреть - вот:
Вложения
StretchBlt.rar
Просто запустите проект.
(50.98 Кб) Скачиваний: 65

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 26.06.2004 (Сб) 17:11

Ну и чего?
Всё прекрасно растягивается и сжимается.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

_Мика_
Гуру
Гуру
 
Сообщения: 1459
Зарегистрирован: 24.10.2003 (Пт) 15:05
Откуда: г. Москва, м.Речной вокзал

Сообщение _Мика_ » 26.06.2004 (Сб) 20:55

Вроде тоже!! А про метод Hell /HiLevel Bot/'а можно конечно но будет я думаю медленей чем через апишку. Ну незнаю главное работает!!! :D
-Папа, а правда, что форумы делают людей дибилами?
-гы гы гы, сынок, лол!

STanli
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 163
Зарегистрирован: 31.05.2004 (Пн) 15:22
Откуда: ТОМСК

Сообщение STanli » 26.06.2004 (Сб) 21:26

Не понимаю я чёто здесь ничего наверно не дано =) может подскажете как можно этому всему обучиться?

Q2W
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 745
Зарегистрирован: 31.01.2004 (Сб) 20:46
Откуда: Питер

Сообщение Q2W » 26.06.2004 (Сб) 21:31

Hell /HiLevel Bot/ писал(а):Я высказал только алгоритм, писать который на ВБ хуже, чем заюзать апи, который делает тоже самое.
Я знаю верный путь

Approximator
Постоялец
Постоялец
 
Сообщения: 572
Зарегистрирован: 26.06.2004 (Сб) 3:10

Сообщение Approximator » 27.06.2004 (Вс) 2:28

_Мика_ писал(а):Вроде тоже!! А про метод Hell /HiLevel Bot/'а можно конечно но будет я думаю медленей чем через апишку. Ну незнаю главное работает!!! :D


Просто, Hell тебе рассказал, как эта "АйПи'шка" работает.
С уважением, Approximator.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 17

    TopList  
cron