Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Приближение битмапа.


Страницы:   1 2

snake-as ©   (2009-05-31 13:57:00) 

Здравствуте. У меня программа рисует битап на определенной площади канваса. Делаю я это так:
   dRect := Bounds(0, 0, MainForm.Width, MainForm.Height);
   sRect := Bounds(0, 0, MainForm.Width, MainForm.Height);
   Canvas.CopyRect(dRect,pic.Canvas,sRect);
Мне нужно сделать приближение, т.е. чтобы картинка была больше, но и область отображения была также, т.е. увеличить dRect не выйдет. Подскажите, пожалуйста, как можно это осуществить? Извините, если вопрос фигово поставлен, башка просто не варит. Заранее спасибо!


Юрий Зотов   (2009-06-02 13:05:00) [1]

> antonn ©   (02.06.09 12:55) [24]

> То, что source rect можно взять поменьше он не догадался наверное

Так ему в первом же посте об этом было сказано. А во втором он сказал, что этот вариант не подходит. Вот и получились бочка с бутылкой.


antonn   (2009-06-02 12:55:00) [2]


> то есть, ему надо думать и менять постановку.

просто переформулировать задачу, зачем так зарываться в буквоедство и упирать на то, что задача в его постановке не решаема :)
насколько я понял (по одной из версий :)) автору нужен зум, но его не устраивает зум способом разворачивания формы. То, что source rect можно взять поменьше он не догадался наверное :)


Юрий Зотов   (2009-06-02 12:40:00) [3]

> Anatoly Podgoretsky ©   (02.06.09 07:40) [21]

А я даже и не спорю. Я хочу, чтобы автор понял, что если нельзя ни увеличивать dRect, ни уменьшать sRect, то задача решения не имеет. Даже теоретически не имеет.

Поэтому в ТАКОЙ постановке никакие Stretch ему не помогут - то есть, ему надо думать и менять постановку. Вот я и хочу, чтобы он это понял.

А спорить тут не с чем. С законами геометрии не поспоришь.


Dennis I. Komarov   (2009-06-02 12:04:00) [4]


> Он "плюнул" вопрос и самоустранился.

налетели... испугали... :)


Anatoly Podgoretsky   (2009-06-02 07:40:00) [5]


> Юрий Зотов ©   (02.06.09 01:05) [15]

Юрий мог бы не приводить, ты прекрасно все поинмаешь, а споришь от - не знаю от чего споришь.


Германн   (2009-06-02 02:17:00) [6]


> тем более все так скучно, автора не прессуют, спорите м/у
> собой потихоньку, аж не прицепишься... %)
>

А как тут автора "прессовать"? Он "плюнул" вопрос и самоустранился.
Но некоторых Мастеров сей вопрос заинтересовал. Чем? Ну я и сам не знаю.


antonn   (2009-06-02 02:06:00) [7]

чего не ожидал, тут просто двойственное понятие че нужно автору :)
тем более все так скучно, автора не прессуют, спорите м/у собой потихоньку, аж не прицепишься... %)


Германн   (2009-06-02 01:54:00) [8]


> antonn ©   (02.06.09 01:44) [17]
>
> смысл тут спорить, если у автора недостаточно понятное описание
> желания :)
>

От тебя такого не ожидал! Но тут ты прав!


antonn   (2009-06-02 01:44:00) [9]

смысл тут спорить, если у автора недостаточно понятное описание желания :)


Германн   (2009-06-02 01:20:00) [10]


> Юрий Зотов ©   (02.06.09 01:05) [15]


> > Юрий Зотов ©   (31.05.09 14:14) [1]
> > раз нельзя увеличивать dRect, то надо уменьшать sRect.
>
>
> > snake-as ©   (31.05.09 14:57) [2]
> > этот вариант не подходит.


> После чего пришли к бочке и бутылке.
>

После чего следует прийти к варианту  [7]!
Ну сколько раз нужно ещё это повторять! ?
:)
Ну конечно. Если кого сразу тянет к "бочке и бутылке", то тут я пас. Раз тянет, то ...


Юрий Зотов   (2009-06-02 01:05:00) [11]

> Anatoly Podgoretsky ©   (02.06.09 00:59) [14]
> уменьшается RECT первого

Если бы. Пару цитат приведу:

> Юрий Зотов ©   (31.05.09 14:14) [1]
> раз нельзя увеличивать dRect, то надо уменьшать sRect.

> snake-as ©   (31.05.09 14:57) [2]
> этот вариант не подходит.

После чего пришли к бочке и бутылке.


Anatoly Podgoretsky   (2009-06-02 00:59:00) [12]

> Юрий Зотов  (02.06.2009 0:16:12)  [12]

Юрий, увеличение идет меньшего прямоугольника во второй.
Приерно так, в цикле уменьшается RECT первого и выводится на второй. Эти достигается эффект прилижения. Никакого чуда.


Германн   (2009-06-02 00:35:00) [13]


> Юрий Зотов ©   (01.06.09 22:37) [10]

Ну не может автор чётко выразить свои мысли, имхо.
Я предложил свой вариант в [7] . Мой телепатор подсказывает, что это автору и нужно. Но автор молчит, значит ему ничего и не нужно.


Юрий Зотов   (2009-06-02 00:16:00) [14]

> Smile   (01.06.09 22:54) [11]

Мы не знаем, что там у кого есть в загашнике. Мы знаем только то, что написано.

А написано следующее. Есть два одинаковых прямоугольника. В одном из них находится картинка и занимает весь его размер. Автор хочет картинку увеличить и эту увеличенную картинку отобразить ВСЮ ПОЛНОСТЬЮ во втором прямоугольнике.

А прямоугольники одинаковые и поэтому УВЕЛИЧЕННАЯ картинка ВСЯ ПОЛНОСТЬЮ туда просто не влезет. Нужно либо увеличивать размер второго прямоугольника, либо копировать в него только ЧАСТЬ картинки. И никак иначе не получится, сколь бы категорично оно ни звучало.

Ну нельзя залить бочку в бутылку, понимаете? Невозможно. Хоть лопни.


Smile   (2009-06-01 22:54:00) [15]

> Юрий Зотов ©   (01.06.09 22:37) [10]

На мой взгляд, это слишком категорично:)
Не исключено, что у автора топика есть в "загашнике" некоторое (определенное) количество "битмапов", которыми он в праве распоряжаться, по своему усмотрению, определенным образом на всевозможные манипуляции с элементами управления "мыши"
:)


Юрий Зотов   (2009-06-01 22:37:00) [16]

> Anatoly Podgoretsky ©   (01.06.09 19:58) [9]

Да хоть восемь раз. Это невозможно физически.

Нельзя залить всю 100-литровую бочку в одну поллитровую бутылку. Не уместится, сколько с бубном ни пляши.

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


Anatoly Podgoretsky   (2009-06-01 19:58:00) [17]

> Юрий Зотов  (01.06.2009 9:15:08)  [8]

StrechDraw


Юрий Зотов   (2009-06-01 09:15:00) [18]

> Anatoly Podgoretsky ©   (31.05.09 20:22) [6]

Угу. Только непонятно, каким волшебным образом человек собирается вписать картинку увеличенного масштаба в тот же прямоугольник-приемник всю полностью, без уменьшения прямоугольника-источника.


Германн   (2009-05-31 20:44:00) [19]

TScrollBox не подойдет?


Anatoly Podgoretsky   (2009-05-31 20:22:00) [20]

В общем все просто - оторажение динамически изменяемого (размеры) окна источника на постоянное окно приемника с маштабированием.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо