Страница: 1 |
Вопрос: Помогите, пожалуйста! Очень нужно! | Добавлено: 02.07.04 20:59 |
Автор вопроса: ![]() |
У меня имеется изображение(в заднем буффере или просто на PictureBox'е). Подскажите, каким алгоритмом можно повернуть изображение на n-ное кол-во градусов. |
Ответы | Всего ответов: 4 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 02.07.04 22:36 |
Пример ушел на noviksplavnik@mail.ru |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 343368641 Вопросов: 17 Ответов: 686 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 02.07.04 22:48 |
на форму кидаешь кнопку и 2 пикчербокса: 1называешь picOne 2-ой - picTwo
Этот код кидаешь в события нажатия кнопки, надеюсь сам разберешся: Const PI = 3.14159265358979 Const ANGLE = 45 'константы конечно перед событием объявляешь ![]() Dim intX As Integer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() '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 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 192496851 Вопросов: 75 Ответов: 3178 |
Профиль | Цитата | #3 | Добавлено: 03.07.04 19:28 |
Огромное СПАСИБО :~)!!!!Один бы я не справился. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 343368641 Вопросов: 17 Ответов: 686 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 03.07.04 21:27 |
Всегда рад помочь!!! ![]() |
Страница: 1 |
|