Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Поворот картинки Добавлено: 27.01.04 20:55  

Автор вопроса:  Kodo | ICQ: 293048085 

Подскажите (если конечно можно) как повернуть картинку в PictureBox или Image на сколько-то там градусов !!!

Ответить

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

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



ICQ: 190197618 

Вопросов: 25
Ответов: 97
 Профиль | | #1 Добавлено: 27.01.04 20:59

Посмотри на этом сайте в разделе ActiveX контролы. Как раз есть OCX а эту тему.

Ответить

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



Вопросов: 72
Ответов: 147
 Профиль | | #2 Добавлено: 27.01.04 21:14

на форму кидаешь кнопку и 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

Ответить

Страница: 1 |

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



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