ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Mettre un miniature+texte en médaillon sur une image quelconque   



L'auteur

ybenam
Algérie Algérie
Membre Simple
# 0000002080
enregistré le 21/04/2008


Fiche personnelle


Note des membres
pas de note

Contributions > 11 - GDI +

Mettre un miniature+texte en médaillon sur une image quelconque
# 0000000604
ajouté le 06/06/2008 01:55:50 et modifié le 06/06/2008
consulté 8253 fois
Niveau initié

Version(s) Foxpro :
VFP 6.0

Description
Mettre une miniature (fox par ex)+ petit texte en médaillon sur une image quelconque. GpIMage.prg et Gpimage.h ont été fournis dans les zip des articles précédents doivent être obligatoirement présents dans le répeetoire . Le choix est laissé pour les couleurs,la miniature et le texte (à modifier dans le code).L'image doit être de taille significative.
Code source :
*Prendre une petite image pour le médaillon ex :yfox.bmp 50 px x 50 px
*Texte à écrire à côté..texte
*image à travailler ..choisie getpict()
*Gpimage.prg et Gpimage.h doivent être disponibles dans le répertoire(inclus dans zip des articles précédents de GDI+
****************************************************************************************************
image="yfox.bmp"  &&médaillon
texte="benameuryousfi1@gmail.com"   &&texte du médaillon
ximage=getpict()   &&image à travailler
***********
image0=ximage

#include gpImage.h
If Not "gpImage" $ Set("Procedure")
  Set Procedure To gpImage Additive
Endi
image1=juststem(image0)+"_.jpg"
lcDest = image1
lcDest_th="ythum" + SYS(2015) + ".jpg"  && thumbnail

green  = RGB(0,255,0)
red    = RGB(255,0,0)
white  = RGB(255,255,255)

gdip = CreateObject("gpInit")
img  = CreateObject("gpImage")

img.Load(image)
img.Thumbnail(60,60)  &&redimensionner image0 à 60*60 px
img.SaveAsJPEG(lcDest_th)
*****
img.load(image0)
oGr = CreateObject("Graphics",img.getimage())
aa=lcDest_th
oGr.SetTextureBrush(aa,0)
oGr.FillEllipse(5,1,60,60)

oGr.SetPen(green,2,2)
oGr.DrawEllipse(5,1,60,60)
oGr.SetPen(red,2,2)
oGr.DrawEllipse(5,1,60+2,60+2)

oGr.SetBrush(white)
oGr.SetRect(66,20,350,30)
oGr.SetAlignment(0,0)
oGr.DrawString(texte,"Tahoma",14,"BI")

img.SaveAsJPEG(lcdest,100)
***********
dele file (lcDest_th)
ogr=null
img=null
gdip=null
***********************************************
&&afficher l'image remodelée
DECLARE INTEGER ShellExecute IN shell32.dll ;
  INTEGER hndWin, STRING cAction, STRING cFileName, ;
  STRING cParams, STRING cDir, INTEGER nShowWin

ShellExecute(0,"open",lcDest,"","",1)

if messagebox("Supprimer l'image créée?",4+64,"Nettoyage")=6
dele file (image1)
endi

Commentaires
Aucun commentaire enregistré ...

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3