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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование на окне, Режими рисования? 
V
    Опции темы
Rapalex
Дата 21.8.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 2
Всего: 8



Тут какбы два дела прошу модераторов не рукатся т. к. дела из одной песочницыи.

1 - можно ли перенаправить оси, в смысле счтоб положительный игрик шол вверх
2 - рисуя в милиметрах толщина пена увеличивается, как можно сделать её == 1 пикселю.

Спасибо.


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
marcusmae
Дата 21.8.2006, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


stravaganza
**


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

Репутация: 22
Всего: 39



На счёт первого : оконная система координат перевёрнутая с очень давних времён. Проще всего самому написать преобразование координат и/или отнимать y от y_max.

На счёт второго : насколько я знаю, если завести 

Код

Image img = new Bitmap(witdth, height);


то width и height будут измеряться именно в пикселях. Равно как и рисование с помощью graphics, созданного по img будет идти в пиксельных координатах. Хотя, может, не очень понял - всё зависит от того, что вы рисуете.

Это сообщение отредактировал(а) marcusmae - 21.8.2006, 17:11


--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Naum
Дата 21.8.2006, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



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

2. Толщина пена всегда задается в пикселях.

Добавлено @ 17:08 
Опоздал я.  smile 


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 21.8.2006, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



1. Делается через трансформации, единственное неудобство - влияет на вывод текста так же как и на всё остальное, т.е. текст будет вверх ногами:
Код
using System;
using System.Drawing;
using System.Windows.Forms;

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

        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            // смещаем точку начала координат в нижний левый угол панели
            e.Graphics.TranslateTransform(0, panel1.Height);
            
            // поворачиваем ось Y вверх
            e.Graphics.ScaleTransform(1f, -1f);

            // рисуем линию снизу вверх слева направо
            e.Graphics.DrawLine(Pens.Black, 0, 0, 200, 100);

            // рисуем текст внизу панели
            e.Graphics.DrawString("Bla-bla-bla", this.Font, Brushes.Black,
                new PointF(0, 0));
        }
    }
}



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


stravaganza
**


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

Репутация: 22
Всего: 39



Ну если через битмап, и сойдёт всё, в том числе, и текст вверх ногами, то проще сделать bitmap.RotateFlip на 180 градусов...



--------------------
ἀπὸ μηχανῆς θεός
PM MAIL ICQ GTalk   Вверх
Rapalex
Дата 22.8.2006, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 2
Всего: 8



На счёт перенаправления оси Y нашол в документации, спасибо
mr.DUDA, я так понял ты именно это и сделал в своём примере  smile 

А вот по поводу ширины пера я нашол у них такой совет, если мы рисуем в дюймах, берём 1/DpiX или Y (они должны быть равны) и получается что толщина пера один пиксель, а вот примера с милиметрами нет!

Help!

 smile 


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
ivashkanet
Дата 22.8.2006, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



В одном дюйме 2,54 см
Это подойдет?
PM MAIL WWW ICQ   Вверх
Rapalex
Дата 22.8.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 2
Всего: 8



 smile интересная мысль


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
Able
Дата 26.8.2006, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 82
Регистрация: 13.6.2006
Где: Тюмень

Репутация: нет
Всего: 2



Может так сделать?  
Код

Graphics grphcs;    
grphcs = CreateGraphics();
grphcs.PageUnit = GraphicsUnit.Pixel; // вывод в пикселях


Это сообщение отредактировал(а) Able - 26.8.2006, 10:20
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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