Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с Graphics.TranslateTransform 
:(
    Опции темы
VisualProgrammerNET
Дата 16.4.2006, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



 smile 
А чё TranslateTransform() так по-левому работает? На форме есть два объекта. Круг и палка. Когда скроллишь форму, объекты не только ездят по форме, но и приближаются-удаляются относительно друг друга!  smile Это так и надо?   

Это сообщение отредактировал(а) VisualProgrammerNET - 16.4.2006, 16:24


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 16.4.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата
А чё TranslateTransform() так по-левому работает? На форме есть два объекта. Круг и палка. Когда скроллишь форму, объекты не только ездят по форме, но и приближаются-удаляются относительно друг друга!   Это так и надо?  

1) исходный код отрисовки фигур - в студию
2) вынес в отдельную тему 


--------------------
user posted image
PM MAIL WWW   Вверх
VisualProgrammerNET
Дата 17.4.2006, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Ммм... в общем, ребят, вот вам исходники. Тут на форум очень долго выкладывать... smile 

Обратите внимание, что красная мигающая зона (куда кружок не может пройти через стену, ещё не доработано) относительно стены не движется. А вот кружок при скроллинге летает вдоль всей формы...

Эээ... а где кнопочка аттача?  smile  

Качаем тут http://up.li.ru/?id=172099;TheLife.rar 

Это сообщение отредактировал(а) VisualProgrammerNET - 17.4.2006, 10:43


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 17.4.2006, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(VisualProgrammerNET @  17.4.2006,  09:37 Найти цитируемый пост)
Эээ... а где кнопочка аттача?   

На краткой форме ответа её нет, поэтому нужно нажать баттон "Ответить" 


--------------------
user posted image
PM MAIL WWW   Вверх
VisualProgrammerNET
Дата 17.4.2006, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Тут макс размер аттача 120 К. А у меня рар весит 400... скачайте, плиз. Там всё равно оно же. А в чём проблема я никак не могу понять...  smile 
 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
-ser-
Дата 18.4.2006, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 5
Всего: 13



поставь отрицательные значения в TranslateTransform( -, - ).
там все стардартно и просто, никаких проблем не может быть.

со своим гвинейским адресом что-то не смог скачать, подозреваю город-герой Мiнск мае теж проблеми.  


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
ivashkanet
Дата 18.4.2006, 07:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



 smile 
Цитата(-ser- @  18.4.2006,  07:07 Найти цитируемый пост)
город-герой Мiнск мае теж проблеми

Ага, там нужны только русские IP. 
PM MAIL WWW ICQ   Вверх
VisualProgrammerNET
Дата 18.4.2006, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Урезал всё. Качаем аттач  smile 
 

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  The_Life.rar.txt 25,46 Kb


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
VisualProgrammerNET
Дата 18.4.2006, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Призываю ещё раз обратить внимание на проблему  smile  Так и не додумался, почему одни объекты ведут себя нормально, а другие нет...  


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
VisualProgrammerNET
Дата 1.5.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Создал (как мне кажется) аналог TranslateTransform. Простенькую программку с прямоугольником. На форму кидаем только таймер и ставим AutoScrollMinSize побольше (2000; 2000 например). Размер формы любой. Интервал таймера - 20.

Пишем кодъ:
Код

namespace TestWork1
{
    public partial class Form1 : Form
    {        
        int _x1 = 300, _x2 = 700, _y1 = 200, _y2 = 1000;
        int X1
        {
            get { return _x1 + this.AutoScrollPosition.X; }
        }
        int X2
        {
            get { return _x2 + this.AutoScrollPosition.X; }
        }
        int Y1
        {
            get { return _y1 + this.AutoScrollPosition.Y; }
        }
        int Y2
        {
            get { return _x2 + this.AutoScrollPosition.Y; }
        }
        
        public Form1()
        {
            InitializeComponent();            
        }        

        protected override void OnPaint(PaintEventArgs e)
        {
            base.OnPaint(e);
            e.Graphics.DrawRectangle(new Pen(Color.Red, 10), X1, Y1, X2, Y2);
        }        

        private void timer1_Tick(object sender, EventArgs e)
        {
            this.Invalidate();
        }
    }
}

Теперь разверните окно на полную, попробуйте покрутить скроллбары и посмотрите, как прямоугольник растягивается и сжимается. Он дурак? Почему он так делает? Через TranslateTransform() точно такая же штука... в чём беда?  smile   

Это сообщение отредактировал(а) VisualProgrammerNET - 1.5.2006, 21:37


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Quadr0
Дата 1.5.2006, 22:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:10
  Вверх
VisualProgrammerNET
Дата 1.5.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Ну хорошо, сделайте большую форму и прямоугольник поменьше.  smile  Полюбому, когда скроллишь форму, он изменяется в размерах. Неужели это только у меня такое? Не может быть  smile  

Квадро, приведи свой код, плиз. И скажи, какие свойства где выставлял 

Это сообщение отредактировал(а) VisualProgrammerNET - 1.5.2006, 23:16


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Quadr0
Дата 2.5.2006, 11:46 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:11
  Вверх
VisualProgrammerNET
Дата 2.5.2006, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Ты видать говоришь про то, что в аттаче. А я о посте 
Цитата(VisualProgrammerNET @  1.5.2006,  21:35 Найти цитируемый пост)
Создал (как мне кажется) аналог TranslateTransform. Простенькую программку с прямоугольником. На форму кидаем только таймер и ставим AutoScrollMinSize побольше (2000; 2000 например). Размер формы любой. Интервал таймера - 20.


 smile 

Это новая программка, простая. Сделай вот новый проект, и создай форму, как описано выше. Засунь код, который из этого поста. Будет жирный красный прямоугольник. 
 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
mr.DUDA
Дата 4.5.2006, 11:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Такой пример ответит на твой вопрос ?
Код

using System;
using System.Drawing;
using System.Windows.Forms;

namespace WindowsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
            e.Graphics.FillRectangle(Brushes.Red, new Rectangle(100, 100, 400, 200));
        }

        private void Form1_Scroll(object sender, ScrollEventArgs e)
        {
            this.Refresh();
        }
    }
}
 


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0596 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.