1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Bokul |
Сообщение
#1
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: 11 |
Подскажите, пожалуйста, алгоритм масштабирования рисунков. Рисунок представляет собой двумерный массив, каждый елемент которого определяет цвет соответствующего пикселя на рисунке.
Сообщение отредактировано: Bokul - -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
![]() ![]() |
| Archon |
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Вот, что я нашёл в обучалках асфиксии. На аглицком наречии, но всё же довольно неплохо написано.
Цитата For the horizontal area, I am going to calculate a certain step value. I will then trace along the bitmap, adding this step to my position, and placing the nearest pixel on to the screen. Let me explain this simpler ... Let us say I have a 10 pixel wide bitmap. I want to squish it into 5 pixels. Along the bitmap, I would draw every second pixel to screen. In ascii : 1234567890 13579 +--------+ +---+ | | | | | bitmap | | |dest | | | | +--------+ +---+ As you can see, by stepping through every second pixel, I have shrunk the bitmap to a width of 5 pixels. The equation is as follows : step = origionalwidth / wantedwidth; Let us say we have a 100 pixel wide bitmap, which we want to get to 20 pixels. step = 100 / 20 step = 5 If we draw every fifth pixel from the origional bitmap, we have scaled it down correctly! This also works for all values, if step is of type real. We also find the step for the height in the same way. Our horizontal loop is as follows : For loop1:=1 to wantedwidth do BEGIN putpixel (loop1,height,bitmap[round (curpos)],vga); curpos:=curpos+xstep; END; And the vertical loop is much the same. Easy huh? -------------------- Close the World...txeN eht nepO
|
Bokul Масштабирования растровых рисунков 22.08.2006 9:46
Bokul С увеличениям в целое количество раз я вроде разоб… 22.08.2006 11:46
Бродяжник Копайте в сторону билинейной фильтрации. Кое-что м… 22.08.2006 12:22
volvo var
zoomx, zoomy: real;
procedure pzoom;
var i,… 22.08.2006 12:25
klem4 Если конечно не обязательно работать с матрицой пи… 22.08.2006 20:52
volvo klem4,
а не работает :) Это во-первых.
Объясни мн… 22.08.2006 21:18
klem4
У тебя одно и тоже выводится ? 22.08.2006 21:23
volvo Конечно... А ничего другого я и не ждал... Смотри:… 22.08.2006 21:35
klem4 :blink: :!fie:
И правда, соотношение то не … 22.08.2006 21:55
Bokul
А поподробнее можна? :rolleyes:
volvo, спасибо, … 23.08.2006 8:01
klem4
По идее так и должно быть, не знаю почему у меня… 23.08.2006 16:33
Бродяжник Bokul
Чтобы это объяснить поподробнее, мне надо са… 23.08.2006 18:35
klem4 Вот, реализовал свою идею :) Грубовато конечно, до… 25.08.2006 2:37
volvo :blink: Я вот никак не могу понять, чего она так п… 25.08.2006 3:16
klem4 Думаю по тому, что картинка отображается попиксель… 25.08.2006 3:18
volvo Ха... Да, ты прав... Это именно отрисовка тормозит… 25.08.2006 3:37
Bokul klem4, не мог бы ты выложить файл с твоим кодом, а… 25.08.2006 3:51
volvo Кстати, вот так будет ГОРАЗДО быстрее (PutPixel - … 25.08.2006 4:05
klem4 Bokul, держи 25.08.2006 13:15
Bokul klem4, и с этим кодом у меня проблемы... :mega_cho… 25.08.2006 22:32
volvo В FPC 2.0.0 прекрасно отрабатывает...
(только я за… 25.08.2006 23:03
klem4 ммм Переключи клаву в режим латинских букв (кода к… 25.08.2006 23:48
Bokul
Не то, ни другое не подошло. Наверное у моего Fr… 26.08.2006 3:46
Bokul array of array
SetLength
Я так понял что это о… 26.08.2006 4:05
volvo У тебя полный дистрибутив? Тогда в файле /DOC/REF.… 26.08.2006 4:30
Bokul Спасибо :good: , почитаем. 26.08.2006 4:36![]() ![]() |
|
Текстовая версия | 8.11.2025 2:04 |