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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> закруглить углы у Rectangle 
:(
    Опции темы
gambit
Дата 28.6.2009, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



Как4 на форме отрисовать прямоугольник со скругленными углами???
PM MAIL ICQ Skype   Вверх
Grok
Дата 29.6.2009, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



я для этого использовал GraphicsPath
PM MAIL ICQ   Вверх
NightmareZ
Дата 29.6.2009, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


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

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



Код

public static GraphicsPath CreateRoundedRectangle(float x, float y, float width, float height, float d)
{
    var path = new GraphicsPath();
    float r = d / 2f;

    path.AddLine(x + r, y, x + width - r, y);
    path.AddArc(x + width - d, y, d, d, 270, 90);
    path.AddLine(x + width, y + r, x + width, y + height - r);
    path.AddArc(x + width - d, y + height - d, d, d, 0, 90);
    path.AddLine(x + width - r, y + height, x + r, y + height);
    path.AddArc(x, y + height - d, d, d, 90, 90);
    path.AddLine(x, y + height - r, x, y + r);
    path.AddArc(x, y, d, d, 180, 90);

    return path;
}


Код

GraphicsPath path = CreateRoundedRectangle(10, 10, 100, 100, 5);
gfx.DrawPath(Pens.Black, path);


Это сообщение отредактировал(а) NightmareZ - 29.6.2009, 03:01


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
gambit
Дата 29.6.2009, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 3
Всего: 40



NightmareZ, спасибо.

Grok, то что надо использовать GraphicsPath, я могу и нагуглить, вопрос как его использовать.
PM MAIL ICQ Skype   Вверх
Grok
Дата 29.6.2009, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



gambit, вот код с использованием Rectangle
Код

        public GraphicsPath ButtonWithRoundingCorners(Rectangle btnRect, int diam)
        {
            GraphicsPath btnPath = new GraphicsPath();
            btnPath.StartFigure();
            btnPath.AddArc(btnRect.X, btnRect.Y, diam, diam, 180, 90);
            btnPath.AddArc(btnRect.X + btnRect.Width - diam, btnRect.Y, diam, diam, 270, 90);
            btnPath.AddArc(btnRect.X + btnRect.Width - diam, btnRect.Y + btnRect.Height - diam, 
                diam, diam, 0, 90);
            btnPath.AddArc(btnRect.X, btnRect.Y + btnRect.Height - diam, diam, diam, 90, 90);
            btnPath.CloseFigure();
            return btnPath;
        }



Это сообщение отредактировал(а) Grok - 29.6.2009, 10:50
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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