none
Можно ли сделать эллипс под определенном углом в visual basic 2010? RRS feed

  • Вопрос

  • при создание программы столкнулся с проблемой, как построить эллипс под углом ? Можно ли вообще  построить эллипс под углом ? Если да, то как ? 
    10 января 2014 г. 3:14

Ответы

  • Да, можно, с помощью мировых преобразований (название из WinAPI). Вот пример:

    Imports System.Drawing.Graphics Imports System.Drawing.Drawing2D '........ Public Class Form1 '........ Dim dx As Integer Dim dy As Integer Dim angle As Single '....... Private Sub Form1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint e.Graphics.TranslateTransform(dx, dy) 'смещение преобразований (центр вращения, эксперементируйте, я сам не сразу разобрался...) e.Graphics.RotateTransform(angle) 'угол поворота в градусах

    e.Graphics.DrawEllipse(

    Pens.Black, 500, 500, 200, 100)'рисуем эллипс

    e.Graphics.ResetTransform()'отменяем преобразования, иначе при следующей прорисовке прибавиться угол к углу и смещения к смещению, получится не то...

    End Sub '....... End Class

    p.s. Возможно, коряво код вставился... редактировал "по ходу" :)

    Alexandr_Smirnoff


    • Изменено Alexandr_Smirnoff 10 января 2014 г. 18:51
    • Предложено в качестве ответа Medet Tleukabiluly 10 января 2014 г. 19:57
    • Помечено в качестве ответа konstantinov_13 12 января 2014 г. 12:07
    10 января 2014 г. 18:48

Все ответы

  • Здравствуйте,

    Вот посмотрите две темы, надеюсь будут полезны:

    http://www.vb-helper.com/howto_rotate_ellipse.html

    http://www.vbtutor.net/index.php/visual-basic-2010-lesson-23/


    Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.

    10 января 2014 г. 7:36
    Модератор
  • Да, можно, с помощью мировых преобразований (название из WinAPI). Вот пример:

    Imports System.Drawing.Graphics Imports System.Drawing.Drawing2D '........ Public Class Form1 '........ Dim dx As Integer Dim dy As Integer Dim angle As Single '....... Private Sub Form1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint e.Graphics.TranslateTransform(dx, dy) 'смещение преобразований (центр вращения, эксперементируйте, я сам не сразу разобрался...) e.Graphics.RotateTransform(angle) 'угол поворота в градусах

    e.Graphics.DrawEllipse(

    Pens.Black, 500, 500, 200, 100)'рисуем эллипс

    e.Graphics.ResetTransform()'отменяем преобразования, иначе при следующей прорисовке прибавиться угол к углу и смещения к смещению, получится не то...

    End Sub '....... End Class

    p.s. Возможно, коряво код вставился... редактировал "по ходу" :)

    Alexandr_Smirnoff


    • Изменено Alexandr_Smirnoff 10 января 2014 г. 18:51
    • Предложено в качестве ответа Medet Tleukabiluly 10 января 2014 г. 19:57
    • Помечено в качестве ответа konstantinov_13 12 января 2014 г. 12:07
    10 января 2014 г. 18:48
  • большое спасибо )))
    12 января 2014 г. 12:08