Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Помогите, пожалуйста! Очень нужно! Добавлено: 02.07.04 20:59  

Автор вопроса:  AgentFire | ICQ: 192496851 
У меня имеется изображение(в заднем буффере или просто на PictureBox'е). Подскажите, каким алгоритмом можно повернуть изображение на n-ное кол-во градусов.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #1
Добавлено: 02.07.04 22:36
Пример ушел на noviksplavnik@mail.ru

Ответить

Номер ответа: 2
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #2
Добавлено: 02.07.04 22:48
на форму кидаешь кнопку и 2 пикчербокса: 1называешь picOne 2-ой - picTwo

Этот код кидаешь в события нажатия кнопки, надеюсь сам разберешся:

Const PI = 3.14159265358979
Const ANGLE = 45
'константы конечно перед событием объявляешь :)

Dim intX As Integer
    ;Dim intY As Integer
    ;Dim intX1 As Integer
    ;Dim intY1 As Integer
    ;Dim dblX2 As Double
    ;Dim dblY2 As Double
    ;Dim dblX3 As Double
    ;Dim dblY3 As Double
    ;Dim dblThetaDeg As Double
    ;Dim dblThetaRad As Double
    'Initialize rotation angle
    dblThetaDeg = ANGLE
    'Compute angle in radians
    dblThetaRad = dblThetaDeg * PI / 180
    'Set scale modes to pixels
    picOne.ScaleMode = vbPixels
    picTwo.ScaleMode = vbPixels
    For intX = 0 To picTwo.ScaleWidth
        intX1 = intX - picTwo.ScaleWidth \ 2
        For intY = 0 To picTwo.ScaleHeight
            intY1 = intY - picTwo.ScaleHeight \ 2
            'Rotate picture by dblThetaRad
            dblX2 = intX1 * Cos(-dblThetaRad) + _
                intY1 * Sin(-dblThetaRad)
            dblY2 = intY1 * Cos(-dblThetaRad) - _
                intX1 * Sin(-dblThetaRad)
            'Translate to center of picture box
            dblX3 = dblX2 + picOne.ScaleWidth \ 2
            dblY3 = dblY2 + picOne.ScaleHeight \ 2
            'If data point is in picOne, set its color in picTwo
            If dblX3 > 0 And dblX3 < picOne.ScaleWidth - 1 _
                And dblY3 > 0 And dblY3 < picOne.ScaleHeight - 1 Then
                picTwo.PSet (intX, intY), picOne.Point(dblX3, dblY3)
            End If
        Next intY
    Next intX

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 03.07.04 19:28
Огромное СПАСИБО :~)!!!!Один бы я не справился.

Ответить

Номер ответа: 4
Автор ответа:
 Barsik



Разработчик Offline Client

ICQ: 343368641 

Вопросов: 17
Ответов: 686
 Web-сайт: barsik.newmail.ru
 Профиль | | #4
Добавлено: 03.07.04 21:27
Всегда рад помочь!!! ;)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам