purebasic.info

PureBasic forum
Текущее время: Вс апр 22, 2018 4:09 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Странное поведение DrawRotatedText
СообщениеДобавлено: Сб июл 02, 2016 5:00 pm 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 578
Благодарил (а): 60 раз.
Поблагодарили: 18 раз.
Пункты репутации: 5
Столкнулся с непоняткой в DrawRotatedText(), если угол равен 0, 90, 180 градусов то всё нормально, а при других углах текст прыгает всторону.

пример накидал, потыкайте
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Global can, fnt, str1, corner=0
Global but1, but2, but3, but4, but5, but6, but7, but8;, but9
Procedure text()
 
StartDrawing(CanvasOutput(can))
DrawingFont(FontID(fnt))
Box(0, 0, 440, 350, 9234160)
DrawText(170, 170, "WWWWW", 16760576, 13828244)
DrawRotatedText(170, 170, "WWWWW", corner, 11823615)
 
StopDrawing()
 
EndProcedure
 
 
If OpenWindow(111, 670, 570, 600, 370, "")
AddKeyboardShortcut(111, #PB_Shortcut_Escape, 0)
 
fnt=LoadFont(#PB_Any, "Courier New", 33, #PB_Font_Bold)
but1=ButtonGadget(#PB_Any, 460, 10, 130, 28, "+90")
but2=ButtonGadget(#PB_Any, 460, 40, 130, 28, "+45")
but3=ButtonGadget(#PB_Any, 460, 70, 130, 28, "+1")
but4=ButtonGadget(#PB_Any, 460, 100, 130, 28, "0")
but5=ButtonGadget(#PB_Any, 460, 130, 130, 28, "-1")
but6=ButtonGadget(#PB_Any, 460, 160, 130, 28, "-45")
but7=ButtonGadget(#PB_Any, 460, 190, 130, 28, "-90")
str1=StringGadget(#PB_Any, 460, 220, 130, 28, "180")
but8=ButtonGadget(#PB_Any, 460, 250, 130, 28, "? ? ?")
 
can=CanvasGadget(#PB_Any, 10, 10, 440, 350)
text()
 
 
 
Repeat
ev=WaitWindowEvent():eg=EventGadget():et=EventType():em=EventMenu()
If ev=#PB_Event_Menu And em=0:Break:EndIf
 
If eg=but1:corner=90:text():EndIf
If eg=but2:corner=45:text():EndIf
If eg=but3:corner=1:text():EndIf
If eg=but4:corner=0:text():EndIf
If eg=but5:corner=-1:text():EndIf
If eg=but6:corner=-45:text():EndIf
If eg=but7:corner=-90:text():EndIf
If eg=but8:corner=Val(GetGadgetText(str1)):text():EndIf
 
 
Until ev = #PB_Event_CloseWindow
EndIf



или так и должно быть? или в других версиях работает правильно, у кого разные версии, попробуйте


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Странное поведение DrawRotatedText
СообщениеДобавлено: Сб июл 02, 2016 6:49 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11108
Благодарил (а): 4 раз.
Поблагодарили: 395 раз.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Global can, fnt, str1, corner=0
Global but1, but2, but3, but4, but5, but6, but7, but8;, but9
Procedure text()
  If StartVectorDrawing(CanvasVectorOutput(can))
   
    VectorFont(FontID(fnt))
    VectorSourceColor(RGBA(255, 255, 255, 255))
    FillVectorOutput()
   
    Text$="WWWWW"
    MovePathCursor(170, 170)
    VectorSourceColor(RGBA(0, 255, 0, 255))
    DrawVectorText(Text$)
   
    MovePathCursor(170, 170)
    RotateCoordinates(170, 170, corner)
    VectorSourceColor(RGBA(0, 0, 0, 50))
    DrawVectorText(Text$)
   
    StopVectorDrawing()
  EndIf
 
EndProcedure
 
 
If OpenWindow(111, 170, 170, 600, 370, "")
  AddKeyboardShortcut(111, #PB_Shortcut_Escape, 0)
 
  fnt=LoadFont(#PB_Any, "Courier New", 33, #PB_Font_Bold)
  but1=ButtonGadget(#PB_Any, 460, 10, 130, 28, "+90")
  but2=ButtonGadget(#PB_Any, 460, 40, 130, 28, "+45")
  but3=ButtonGadget(#PB_Any, 460, 70, 130, 28, "+1")
  but4=ButtonGadget(#PB_Any, 460, 100, 130, 28, "0")
  but5=ButtonGadget(#PB_Any, 460, 130, 130, 28, "-1")
  but6=ButtonGadget(#PB_Any, 460, 160, 130, 28, "-45")
  but7=ButtonGadget(#PB_Any, 460, 190, 130, 28, "-90")
  str1=StringGadget(#PB_Any, 460, 220, 130, 28, "180")
  but8=ButtonGadget(#PB_Any, 460, 250, 130, 28, "? ? ?")
 
  can=CanvasGadget(#PB_Any, 10, 10, 440, 350)
  text()
 
 
 
  Repeat
    ev=WaitWindowEvent():eg=EventGadget():et=EventType():em=EventMenu()
    If ev=#PB_Event_Menu And em=0:Break:EndIf
   
    If eg=but1:corner=90:text():EndIf
    If eg=but2:corner=45:text():EndIf
    If eg=but3:corner=1:text():EndIf
    If eg=but4:corner=0:text():EndIf
    If eg=but5:corner=-1:text():EndIf
    If eg=but6:corner=-45:text():EndIf
    If eg=but7:corner=-90:text():EndIf
    If eg=but8:corner=Val(GetGadgetText(str1)):text():EndIf
   
   
  Until ev = #PB_Event_CloseWindow
EndIf


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Странное поведение DrawRotatedText
СообщениеДобавлено: Вс июл 03, 2016 5:17 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 578
Благодарил (а): 60 раз.
Поблагодарили: 18 раз.
Пункты репутации: 5
Вектор правильно работает, значит в DrawRotatedText ошибка.
Может кто Феде напишет.

А перевод на вектор есть? вроде кто то собирался полноценный перевод хельпа делать, где он?


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB