Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2015, 15:17   #1
BestStrikS
 
Регистрация: 21.04.2013
Сообщений: 5
По умолчанию DrawImage страдает слепотой

Пишу свой велосипед для курсача, а именно шахматы.
Отрисовываю доску с помощью DrawImage на Panel. Размер изображения = размеру панели. В результате он его масшабирует и изображение не влазит в панель:

Код:
public partial class Form1 : Form
    {
        Graphics desk_gr;
        

        public Form1()
        {
            InitializeComponent();
            
        }

        void draw_desk()
        {
            desk_gr = desk_panel.CreateGraphics();
            Bitmap desk_img = new Bitmap("images/desk.gif");
            
            desk_gr.DrawImage(desk_img, 0, 0, desk_img.Width, desk_img.Height);
            
            //Rectangle desk_img_rect = new Rectangle(0, 0, desk_img.Width, desk_img.Height);
            //desk_gr.DrawImage(desk_img, desk_img_rect);

        }

        private void button1_Click(object sender, EventArgs e)
        {
            draw_desk();
        }

}
Во вложении солюшн с изображением.

Запихиваю рисунок в PictureBox все нормально. Рисую на PictureBox... Та же лажа
Гнал на размер шрифта и элементов Windows, но перезагрузися со стандартом... Та же лажа
Вложения
Тип файла: rar Chess.rar (52.8 Кб, 6 просмотров)

Последний раз редактировалось BestStrikS; 28.05.2015 в 15:20.
BestStrikS вне форума Ответить с цитированием
Старый 28.05.2015, 16:08   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

desk_panel.ClientSize {Width = 634 Height = 687}
и давно это 846*846?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2015, 17:13   #3
BestStrikS
 
Регистрация: 21.04.2013
Сообщений: 5
По умолчанию

Пепел Феникса, Спасибо, узнал про разницу Size и ClientSize. Но в данном случае они равны.
Для потомков:
Цитата:
Клиентская область — внутренняя область формы, на которой приложение при возникновении события Paint может размещать элементы управления и рисовать все, что сочтет нужным, и размещать элементы управления. В клиентскую область не входят заголовок и рамка формы.
Но дело все таки было в масштабировании шрифта и элементов Windows. У меня 135% и 1920x1080.
Например:
Руками вбиваем в редакторе свойство панели Size (846*846). Пробуем: не влазиет.
Меняем в разрешении экрана масштаб шрифта и элементов на 100%
Запускаем редактор и видим что он сам поменял Size на 687,687.
Выставляем Size Size (846*846) Пробуем: все в порядке.
Если вернемся к масштабу 130%, то получим Size 1128 x 1128.
Так что пишите под 100% масштабом даже с 15 дюймовым моником)

А есть какое нибудь свойство формы, которое оставляет масштаб элементов формы неизменным, как бы не менялся масштаб Windows?
BestStrikS вне форума Ответить с цитированием
Старый 28.05.2015, 17:39   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

свойство AutoScaleMode = None у формы.
правда лучше чтоб ваше приложение умело мастабироваться.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2015, 18:15   #5
BestStrikS
 
Регистрация: 21.04.2013
Сообщений: 5
По умолчанию

Пепел Феникса, большое спасибо. Вы делаете мир лучше. =)
BestStrikS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drawImage Java сжимает изображение yazZ3va Помощь студентам 1 10.12.2012 15:46
C# Работа с изображением (DrawImage) KobolD Помощь студентам 1 16.11.2011 13:47
drawimage проблема (JAVA) vetal10 Помощь студентам 1 17.06.2011 14:15