begin process at 2012 02 16 19:24:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Windows

 > 

API

 > 

gdi+ Rotate font


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

gdi+ Rotate font

mercredi 9 juillet 2008 à 17:57:17 | gdi+ Rotate font

peug

Membre Club

Avé !
Je bidouille en vain pour parvenir à maitriser la rotation d'un texte avec GDI Plus, voici la fonction (qui marche pas pour la rotation => coordonnées ). Vous avez une idée ? merci

Public Sub DrawPrint2(ByRef oDest As Object, ByVal hdc As Long, ByVal Texte As String, ByVal x As Long, ByVal y As Long, _
                    ByVal FontColor As Long, ByVal Gras As Boolean, _
                    Optional ByVal lWidth As Long = 200, Optional ByVal lHeight As Long = 50, _
                    Optional ByVal Gauche As Boolean = True, Optional ByVal Italic As Boolean = False, Optional ByVal lSize As Long = 13, Optional ByVal lAngle As Long, _
                    Optional ByVal bAlignLibelleLeft As Boolean = False)
    '
    If Texte = vbNullString Then Exit Sub

    Dim hGraphics As Long
    Dim hFontFamily As Long
    Dim hFont As Long
    Dim hBrush As Long
    Dim hStringFormat As Long
    Dim lpR As GpRECTF
    Dim lpR2 As GpRECTF
    Dim eFontStyle As GpFontStyle

    GdipCreateFromHDC hdc, hGraphics

    GdipCreateSolidFill ByVal FontColor, hBrush
    GdipCreateFontFamilyFromName "Calibri", 0, hFontFamily
   
    If Gras Then
        If Italic Then
            eFontStyle = FontStyleBoldItalic
        Else
            eFontStyle = FontStyleBold
        End If
    Else
        If Italic Then
            eFontStyle = FontStyleItalic
        Else
            eFontStyle = FontStyleRegular
        End If
       
    End If
   
    If lAngle <> 0 Then
        GdipTranslateWorldTransform hGraphics, x * 3, y * 2, MatrixOrderPrepend
        GdipRotateWorldTransform hGraphics, -lAngle, 0 'MatrixOrderAppend
    End If
   
    GdipCreateFont hFontFamily, lSize, eFontStyle, UnitPixel, hFont
   
   
   
    GdipCreateStringFormat 0, 0, hStringFormat
   
    lpR.left = x
    lpR.top = y
    lpR.Width = lWidth
    lpR.Height = lHeight
 
    'GdipMeasureString hGraphics, StrConv(Texte, vbUnicode), -1, hFont, lpR, hStringFormat, lpR, 0, 0
    GdipSetTextRenderingHint hGraphics, TextRenderingHintAntiAliasGridFit
    GdipDrawString hGraphics, Texte, -1, hFont, lpR, hStringFormat, hBrush

    GdipDeleteStringFormat hStringFormat
    GdipDeleteFont hFont
    GdipDeleteFontFamily hFontFamily
    GdipDeleteBrush hBrush
    GdipDeleteGraphics hGraphics
End Sub

mercredi 9 juillet 2008 à 20:14:27 | Re : gdi+ Rotate font

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
salut l'ami

va voir ma source

http://www.vbfrance.com/codes/EXEMPLE-UTILISATION-GDI-DANS-VB6_39804.aspx

y'a un exemple d'utilisation de GdipTransformPoints

te permettra de passer les coordonnées de et vers le monde...
jeudi 10 juillet 2008 à 08:33:07 | Re : gdi+ Rotate font

peug

Membre Club

Salut Maître !
Bon et bien que dire de plus... 

voici juste la modif...
    lpOrg.x = x
    lpOrg.y = y
    If lAngle <> 0 Then
        GdipRotateWorldTransform hGraphics, lAngle, MatrixOrderPrepend
        GdipTransformPoints hGraphics, CoordinateSpaceWorld, CoordinateSpaceDevice, lpOrg, 1
    End If

N'empêche y'a t il un truc que tu ne connaisses pas ?

Bon sinon, as-tu une mise à jour de Win32API.tlb ?
Car je ne sais pas créer les tlb... l'idéal serait que tu m'apprends ("on lui donne le beurre et il veut la crémière en plus" )
Allez super merci

jeudi 10 juillet 2008 à 08:41:31 | Re : gdi+ Rotate font
jeudi 10 juillet 2008 à 09:46:23 | Re : gdi+ Rotate font

Renfield

Administrateur CodeS-SourceS
que je ne connaisse pas ?

oh que oui ! et heureusement, ce serai triste, sans cela ^^ sans cesse en R&D

pour exemple, actuellement, je joues a générer des PDF

disons qu'on a des points d'intérêt croisés, et que je suis passé par la cas "je suis en GDI+ et je veux changer mes coordonnées" ^^
jeudi 10 juillet 2008 à 09:51:26 | Re : gdi+ Rotate font

peug

Membre Club
oui, tu as 100 TGV d'avance avec 10 ans de mois, quelle horreur !

Coté PDF, j'ai trouvé cette source récemment que j'ai mis sous le coude : http://www.vbfrance.com/codes/SANZEREUR-CORRECTEUR-ORTHOGRAPHIQUE_40715.aspx
J'ai seulement regretté la structure du code mais ça marche.
jeudi 10 juillet 2008 à 10:14:57 | Re : gdi+ Rotate font

Renfield

Administrateur CodeS-SourceS
sympa.... mais le code coté PDF semble pire que celui de WSPDF, et ça n'est pas peu dire ^^
http://www.vbfrance.com/codes/WSPDF-CLASSE-GENERATION-FICHIER-PDF-SANS-OCX-NI_25958.aspx

le code semble rigide, avec les numéros des objets PDF en dur, etc.


En fait, je travaille depuis quelques années dans l'éditique. J'ai l'expérience de composeurs professionnels - rien a voir avec les Crystal Report et consorts, je parle de choses bien plus souples.
J'ai un point de vue enrichi par l'expérience, et j'ajoute des choses simples dans ma dll de génération PDF. Je ne pense pas livrer les sources, mais je vais voir pour en fournir l'usage libre pour les projets non commerciaux.

elle avance bien, et sera surement greffée à un module qui la pilote, afin de générer des états et autres correspondances.

jeudi 10 juillet 2008 à 10:23:30 | Re : gdi+ Rotate font

peug

Membre Club
Quel entreprise, l'an passé j'ai passé je ne sais combien de mois pour maitrise l'impression à l"écran et sur le papier pour créer un aperçu avant impression digne de ce nom ! et mon prochain challange sera en effet de l'amélioré vers directement l'envoyer enb PDF, j'avais vu WSPDF mais je m'en souvenais plus et en effet pas photo
jeudi 10 juillet 2008 à 16:01:11 | Re : gdi+ Rotate font

peug

Membre Club
Flute, je vient de me rendre compte que la rotation c'est pas bon ! grrrr

En fait j'essaie de faire comme une ombre du texte donc c'est un flipY... as-tu une idée l'a dessus ?
jeudi 10 juillet 2008 à 16:37:24 | Re : gdi+ Rotate font

Renfield

Administrateur CodeS-SourceS
flipY ? je ne te suis pas...

normallement, juste un peu de translation... (gaffe a l'ordre des transformations)

1 2

Cette discussion est classée dans : long, optional, lpr, if, byval


Répondre à ce message

Sujets en rapport avec ce message

Couleur de fond d'un contrôle slider [ par Leo_Robotic_Passion ] Bonjour a tous Quelqu'un peut me dire dans un 1er temps si il y a un incon Besoin d'aide pour mon projet VBA [ par Eleasias ] Je suis novice comme certains le savent déjà et je dois faire une macro VBA dans le cadre de mon stage.Quelques un d'entre vous m'ont déjà aidé et je problème avec ftpgetfile [ par Germouse ] J'ai un petit souci: Ftpgetfile marche quand je suis connecté depuis mon bureau (succès = True) mais pas quand je me connecte depuis un autre (succès= Ajout de fonts par API [ par Zayann ] Bonjour à tous... J'essaye à l'heure actuelle d'utiliser des polices de caractères sans les installer préalablement dans le dossier fonts de windows.. Excel Activer un bouton d'internet Explorer avec sont Handle [ par jojo869 ] Bonjour à tous, j'aimerais cliquer automatiquement sur le bouton Ouvrir de la boite de telechargement d'internet explorer. Voici ce que j'ai déjà e [VB6] Télécharger des Fichiers. [ par matheonimbus30 ] Bonjour, Je suis entrain de creer une application qui servirais a télécharger des fichiers sur internet.Pour cela j'utilise le code suivant : [code=vb Utiliser une DLL dans VBA sans VC++ sur la machine [ par runo ] Bonjour, je me suis compilé une petite DLL sous VC++ avec qq accès de base : Je l'appelle ensuite dans VB avec le code ci dessous (je précise que ma [Déplacé VB6 --> VBA] Hook souris VBA [ par media6 ] Bonjour, j'ai besoin de "capter" un clic de souris (en l'occurence un clic gauche) et sa position en X et en Y dans l'application pilotée par VBA. Je Impression verticale en VB6 [ par cnrpma ] Je cherche à rajouter des écritures verticales sur un graphique. J'ai récupéré un code sur le site de VBFrance, puis j'ai voulu rajouté les traits de Impression ou sauvegarde fichier via vb excel [ par silverdark1984 ] Bonjour a tous Voila mon probleme...J'ai des fichiers dans un dossier, en .pdf ( 1 ou plusieurs pages ) et j'aimerai avoir chaques feuilles dans un f


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales