PureBasic

ConvertCoordinateX()

Синтаксис

Result.d = ConvertCoordinateX(x.d , y.d [, Source , Target])

Описание


Преобразует позицию точки в векторной графике, из одной системы координат в другую. Эта функция возвращает преобразованную координату 'X'. С помощью функции ConvertCoordinateY() можно получить координату 'Y'.

Параметры

x.d, y.d Позиция точки в исходной системе координат, которую требуется преобразовать.
Source, Target (дополн.) Определяет исходную и целевую системы координат. Каждая из них может быть одним из следующих значений:
  #PB_Coordinate_Device: Система координат (физических) устройства вывода.
  #PB_Coordinate_Output: Система координат устройства вывода, с выбранной единицей измерения. 
  #PB_Coordinate_User  : Система координат используемая для точек Векторного контура.
  #PB_Coordinate_Source: Система координат используемая для источника рисования в векторной графике.
Преобразование по умолчанию из системы #PB_Coordinate_User в систему #PB_Coordinate_Output.

Возвращаемое значение

Возвращает X - координату точки в целевой системе координат.

Комментарии

См. обзор VectorDrawing для ознакомления с различными системами координат.

Пример

; Этот пример рисует точку в позиции мыши, даже в модифицированной системе координат,
; путем сопоставления координат из системы устройства (пикселей) с пользовательской системой (точками).
;
If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)

    Repeat
        Event = WaitWindowEvent()

        If Event = #PB_Event_Gadget And EventGadget() = 0 And EventType() = #PB_EventType_LeftButtonDown

            If StartVectorDrawing(CanvasVectorOutput(0, #PB_Unit_Point))
                RotateCoordinates(0, 0, 30)

                CanvasX = GetGadgetAttribute(0, #PB_Canvas_MouseX)
                CanvasY = GetGadgetAttribute(0, #PB_Canvas_MouseY)

                DrawingX = ConvertCoordinateX(CanvasX, CanvasY, #PB_Coordinate_Device, #PB_Coordinate_User)
                DrawingY = ConvertCoordinateY(CanvasX, CanvasY, #PB_Coordinate_Device, #PB_Coordinate_User)

                AddPathCircle(DrawingX, DrawingY, 10)
                VectorSourceColor(RGBA(Random(255), Random(255), Random(255), 255))
                FillPath()

                StopVectorDrawing()
            EndIf

        EndIf

    Until Event = #PB_Event_CloseWindow
EndIf

См. также

ResetCoordinates(), TranslateCoordinates(), ScaleCoordinates(), RotateCoordinates(), SkewCoordinates(), FlipCoordinatesX(), FlipCoordinatesY(), ConvertCoordinateY()

Поддерживаемые OS

Все

<- ClosePath() - Оглавление VectorDrawing - ConvertCoordinateY()->