Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 | 2 |

 

  Вопрос: Как Вращать ??? Добавлено: 19.04.07 19:56  

Автор вопроса:  intel-DX | ICQ: 445091742 
Пордскажите пожалуйста как вращать PictureBox, Image или просто BMP, JPG рисунки.
**************************************
Зарание С П А С И Б О.

Ответить

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

Номер ответа: 1
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #1
Добавлено: 19.04.07 22:23
В меня гдето был пример найду скинуюДелп=ает изометрию

Ответить

Номер ответа: 2
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #2
Добавлено: 19.04.07 22:24
Делает

Ответить

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



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #3
Добавлено: 20.04.07 01:27
У LaVolpe на Planet-Source-Code.com есть.

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 20.04.07 14:19
Ф-я PlgBlt по трем точкам.

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 20.04.07 16:15
эх модеры, а ведь замечание было уместно, ок я отпостю пример:

Public Sub RotatePicBox(PicSource As PictureBox, PicDist As PictureBox, Angle As Double)
    Const PI = 3.14159265358979
    Dim intX As Integer, intY As Integer, intX1 As Integer, intY1 As Integer, dblX2 As Double, dblY2 As Double, _
     dblX3 As Double, dblY3 As Double, dblThetaDeg As Double, dblThetaRad As Double
     
    dblThetaDeg = Angle
    dblThetaRad = dblThetaDeg * PI / 180
    PicSource.ScaleMode = vbPixels
    PicDist.ScaleMode = vbPixels
    For intX = 0 To PicDist.ScaleWidth
        intX1 = intX - PicDist.ScaleWidth \ 2
        For intY = 0 To PicDist.ScaleHeight
            intY1 = intY - PicDist.ScaleHeight \ 2
            dblX2 = intX1 * Cos(-dblThetaRad) + intY1 * Sin(-dblThetaRad)
            dblY2 = intY1 * Cos(-dblThetaRad) - intX1 * Sin(-dblThetaRad)
            dblX3 = dblX2 + PicSource.ScaleWidth \ 2
            dblY3 = dblY2 + PicSource.ScaleHeight \ 2
            If dblX3 > 0 And dblX3 < PicSource.ScaleWidth - 1 And dblY3 > 0 And dblY3 < PicSource.ScaleHeight - 1 Then
                PicDist.PSet (intX, intY), PicSource.Point(dblX3, dblY3)
            End If
        Next intY
    Next intX
End Sub

Ответить

Номер ответа: 6
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #6
Добавлено: 21.04.07 00:18
во, а говорили, что хакер никому не помогает ... )

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 21.04.07 05:36
    dblThetaDeg = Angle
    dblThetaRad = dblThetaDeg * PI / 180

Вот эти строчки жгут.

Ответить

Номер ответа: 8
Автор ответа:
 Страшный Сон



Вопросов: 46
Ответов: 848
 Профиль | | #8 Добавлено: 21.04.07 14:18
Да там все строчки жгут... =) для такого случая PlgBlt сойдёт.

Ответить

Номер ответа: 9
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #9 Добавлено: 21.04.07 15:52
pro100 Angle byval вроде был :) А вообще пример не мой, и мопед тоже...

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 21.04.07 17:15
А какая разница, ByVal он или ByRef?

Ответить

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



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #11 Добавлено: 21.04.07 18:25
В данном случае никакой

Ответить

Номер ответа: 12
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #12 Добавлено: 22.04.07 02:38
ну потому что если он byval, то без
dblThetaDeg = Angle
необойтись, или перевод градусов осуществлять каждый раз...

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 22.04.07 14:23
Не понял. Во-первых, там градусы нигде не нужны. Во-вторых, если и нужны, почему нельзя сразу использовать Angle?

Ответить

Номер ответа: 14
Автор ответа:
 HACKER


 

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

Вопросов: 236
Ответов: 8362
 Профиль | | #14 Добавлено: 22.04.07 18:40
тю, ну потому что Angle при ByRef, если изменить его внутри функции, изменится и в вызываемой функции, а если byval, то Angle неизменится :\

Private Sub Form_Load()
    Dim param1 As Integer: param1 = 10
    Call f1(param1)
    MsgBox param1
    
    param1 = 10
    Call f2(param1)
    MsgBox param1
    
    End
End Sub

Private Sub f1(ByVal param1 As Integer)
    param1 = param1 * 180
End Sub

Private Sub f2(param1 As Integer)
    param1 = param1 * 180
End Sub

Ответить

Номер ответа: 15
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #15
Добавлено: 23.04.07 16:21
А где ты его изменяешь в такой строке:
dblThetaRad = Angle * PI / 180

?

Ответить

Страница: 1 | 2 |

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



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