|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.04.2008, 09:01 | #1 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Перерисовка на Image
Суть такова. На форме есть имидж с выравниваем по всей площади. При нажатии на кнопку на имидже отрисовывается 16 битмапов 4*4 (шаг по оси Х и оси Y зависит от ширины и длины имиджа (соответственно и от размеров формы). После увеличиваем размер формы нажимаем на кнопку, а так как шаг между битмапами изменился то все я их увидеть не могу ПОЧЕМУТО. Как сделать чтобы видимая облать канвы соответствовала размеру имиджа
|
09.04.2008, 09:06 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Чет не очень понял вопрос, но из того что понял и представил полагаю что StretchDraw поможет
I'm learning to live...
|
09.04.2008, 09:12 | #3 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Очень похоже на баг с перерисовкой, НО это же имидж, к-рый в ручной перерисовке не нуждается.
Скорее всего неправильный расчет координат для отрисовки. p.s. без кода больше сказать ничего не могу Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 09.04.2008 в 09:18. |
|
09.04.2008, 09:41 | #4 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
вот эта процедура
procedure DrawVBV(Image:TImage;n:integer;type VBV:String); var zazorx,zazory,row,col,a,b:integer; VBV:TBitMap; R:Trect; j: Integer; i: Integer; begin image.canvas.fillrect(image.canvas. cliprect); VBV:=TBitMap.Create; VBV.LoadFromFile(typeVBV); form1.Edit3.Text:= inttostr(image.Canvas.ClipRect.Righ t); if n<8 then col:=n else if (n in[8..16]) then col:=4 else col:=6; row:=round(n/col); zazorx:=trunc((Image.Width-(VBV.Width*col))/(col+1)); zazory:=trunc((Image.Height-(VBV.Height *row))/(row+1)); form1.Edit2.Text:=inttostr(zazorx)+ ' '+inttostr(zazory); for j:=1 to row do begin a:=zazorx; b:=zazory+((j-1)*(VBV.Height+zazory)); for i:=1 to col do begin //r:=Bounds(a,b,VBV.Width,VBV.Height) ; Image.Canvas.Draw (a,b,VBV); a:=a+zazorx+VBV.Width; end; end; VBV.Free; end; шаг между картинками расчитывается правильно (складывал ширину картинок и шаг между ними и результат получался равный ширине имижда) Глянте проект |
09.04.2008, 09:46 | #5 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Серж, опиши задачу. По-моему все решить можно гораздо проще
I'm learning to live...
|
09.04.2008, 09:54 | #6 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Сейчас проект скачаю посмотрю
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
09.04.2008, 10:05 | #7 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
|
09.04.2008, 10:07 | #8 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
Изменяй вручную размер Bitmap в Image, при изменении размера формы
Код:
У вас "на форме есть имидж с выравниваем по всей площади", изменяя размер формы, вы меняете размер Имиджа но не Bitmap. Последний раз редактировалось _Dmitry; 09.04.2008 в 10:20. |
09.04.2008, 10:20 | #9 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Раз уж ты пытался перерисовывать имидж, что делать необязательно, то можешь смело использовать PaintBox, баг исчезнет.
Или как Дмитрий сказал. Почему то второй раз в имидже битмап сам уже не тянется, хотя процедура вызывается та же.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
09.04.2008, 10:24 | #10 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Спасибо Dmitry проблема решена
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
NPG Image | Altera | Компоненты Delphi | 2 | 21.08.2008 12:30 |
Перерисовка формы | satana | Общие вопросы Delphi | 4 | 18.09.2007 19:42 |
PNG в Image | Grey Fox | Помощь студентам | 1 | 02.08.2007 12:24 |
image | Elm0 | Свободное общение | 4 | 21.06.2007 17:34 |