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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите аналог Pset из VB6 в VB.net, и если можно другие функции графики... 
:(
    Опции темы
bankuss
Дата 21.5.2004, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Подскажите аналог Pset из VB6 в VB.net....
PM MAIL   Вверх
zeus
Дата 21.5.2004, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



когдато дааааавно создавал класс для рисования 3х графиков.... может поможет

Код

Public Class CCharts
#Region "Variables"



   Public Shared IsGraphed As Boolean

   Private Shared PB As PictureBox
   Public Shared F1Color As New Color()
   Public Shared F2Color As New Color()
   Public Shared F3Color As New Color()

   Public Shared XFrom As Integer
   Public Shared XTo As Integer
   Public Shared YFrom As Integer
   Public Shared YTo As Integer

   Public Shared GExp As Double

   Public Shared DC As Graphics
#End Region

#Region "Properties"

   Public Shared ReadOnly Property MaxX() As Integer
       Get
           MaxX = PB.Width
       End Get
   End Property

   Public Shared ReadOnly Property MaxY() As Integer
       Get
           MaxY = PB.Height
       End Get
   End Property
#End Region

#Region "Functions"
   Public Shared Function Plot()


       Dim exp As Double


       IsGraphed = True
       exp = GExp

       DC.Clear(Color.White)
       Dim MaxX As Integer
       MaxX = PB.Width


       Dim XDel As Double = MaxX / (XTo - XFrom)


       Dim MaxY As Integer
       MaxY = PB.Height

       Dim YDel As Double = MaxY / (YTo - YFrom)


       Dim Pn As New Pen(Color.Black)

       DC.DrawLine(Pn, 20, 0, 20, MaxY)
       DC.DrawLine(Pn, 0, MaxY - 20, MaxX, MaxY - 20)

       Dim fn As New System.Drawing.Font(Drawing.FontFamily.GenericSansSerif, 9, FontStyle.Regular)


       DC.DrawString("X", fn, Drawing.Brushes.Black, MaxX - 25, MaxY - 35)

       DC.DrawString(XTo.ToString(), fn, Drawing.Brushes.Black, MaxX - 25, MaxY - 14)

       DC.DrawString(XFrom.ToString(), fn, Drawing.Brushes.Black, 25, MaxY - 14)

       DC.DrawString("Y", fn, Drawing.Brushes.Black, 25, 25)

       DC.DrawString(YFrom.ToString(), fn, Drawing.Brushes.Black, 2, MaxY - 35)

       DC.DrawString(YTo.ToString(), fn, Drawing.Brushes.Black, 1, 25)


       Dim x As Double

       Dim pen_1 As New Pen(F1Color)
       Dim pen_2 As New Pen(F2Color)
       Dim pen_3 As New Pen(F3Color)

       For x = XFrom To XTo Step exp
           If (x > 0) Then
               DC.DrawLine(pen_1, CSng((x - XFrom) * XDel), MaxY - CSng((CFunc.F1(x) - YFrom) * YDel), CSng((x - XFrom + exp) * XDel), MaxY - CSng((CFunc.F1(x + exp) - YFrom) * YDel))
           End If
           DC.DrawLine(pen_2, CSng((x - XFrom) * XDel), MaxY - CSng((CFunc.F2(x) - YFrom) * YDel), CSng((x - XFrom + exp) * XDel), MaxY - CSng((CFunc.F2(x + exp) - YFrom) * YDel))
           If (x > 2.1) Or (x < 1.9) Then
               DC.DrawLine(pen_3, CSng((x - XFrom) * XDel), MaxY - CSng((CFunc.F3(x) - YFrom) * YDel), CSng((x - XFrom + exp) * XDel), MaxY - CSng((CFunc.F3(x + exp) - YFrom) * YDel))
           End If
       Next x





   End Function
   Public Shared Function Initialise(ByRef CDC As Control)
       PB = CDC
       IsGraphed = False
       DC = PB.CreateGraphics()
   End Function

#End Region

End Class


Это сообщение отредактировал(а) zeus - 21.5.2004, 17:46
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

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

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


 




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


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

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