Autor Tema: Aporte - Funcion para dibujar Elipse en VB6 con GDI+ desde el centro  (Leído 2818 veces)

0 Usuarios y 1 Visitante están viendo este tema.

TOLO68

  • Kilobyte
  • **
  • Mensajes: 60
  • Reputación: +2/-0
    • Ver Perfil
Hola a todos, aqui os dejo mi primer aporte, no se si alguien ya lo habia puesto pero bueno...
Sirve para dibujar un elipse en GDI+, pero con las coordenadas del centro y los 2 radios, como en VB6

CX y CY son el centro, RX y RY los radios
----------------------------------------

Public Function GdiPlusArcFromCenter(dstDC As Long, CX As Single, CY As Single, RX As Single, RY As Single, _
         Color As Long, StartAngle As Single, SweepAngle As Single, Optional Width As Single = 1, Optional AntiAlias As Boolean = True, Optional Alpha As Long)


   
    Dim iPen As Long
    Dim iBrush As Long
    Dim iGraphics As Long
   
    GdipCreateFromHDC dstDC, iGraphics
   
    If AntiAlias Then GdipSetSmoothingMode iGraphics, SmoothingModeAntialias Else GdipSetSmoothingMode iGraphics, SmoothingModeNone
   
    GdipCreatePen1 ConvertColor(Color, Alpha), Width, UnitPixel, iPen
   
    GdipDrawArc iGraphics, iPen, CX - RX, CY - RY, RX * 2, RY * 2, StartAngle, SweepAngle
   
    GdipDeletePen iPen
    GdipDeleteGraphics iGraphics

End Function

Espero que a alguien le sirva :)