cs_kcin
Messages postés63Date d'inscriptionvendredi 5 novembre 2004StatutMembreDernière intervention26 novembre 2012
-
2 oct. 2009 à 10:17
cs_kcin
Messages postés63Date d'inscriptionvendredi 5 novembre 2004StatutMembreDernière intervention26 novembre 2012
-
2 oct. 2009 à 12:35
Bonjour à tous.
Je suis actuellement sur un projet destiné aux photographes en ASP3, pour la gestion de leurs photos, qui seront publiées ensuite sur un site internet dans une sorte de galerie.
J'utilise le composant Gflax pour retoucher les photos, principalement les tailles. Mais je souhaiterais rajouter un watermark texte au 4 coins de la photo. Pour le moment, je test avec du texte, et peut être qu'après, je verrai pour y mettre des images.
Dans un premier temps, je crée une miniature de cette photo, puis je passe au watermark. Avant le traitement, l'admin du site pourra indiquer si il veut un watermark, si oui dans quels coins il veut les faire apparaître et bien sûr quel texte mettre.
Voici le code que je me suis fait :
if activation_watermark <> "non" then
if watermark = "" then
SQLSiteWeb = "SELECT * FROM products where base='CONF' and affaire=true and ucase(categorie)='SITE-DOMAINE' order by refnum1"
set rsSiteWeb = Server.CreateObject("ADODB.RecordSet")
rsSiteWeb.open SQLSiteWeb,Conn ,3,3
if rsSiteWeb.recordcount > 0 then
watermark = rsSiteWeb("titre2")
end if
rsSiteWeb.close
set rsSiteWeb = nothing
end if
fontColor_Red = 0
fontColor_Green = 0
fontColor_Blue = 0
' Calcul de la taille du watermark
len_watermark = len(watermark)
fontSize = 0.5
tabposition_watermark = split(position_watermark,", ")
for each item in tabposition_watermark
pos_left = 0
if item = "haut gauche" then
pos_left = 10
pos_top = 10
.TextOut Ucase(watermark), pos_left, pos_top, rgb(fontColor_Red,fontColor_Green,fontColor_Blue)
end if
if item = "haut droite" then
pos_top = 0
for i=1 to len_watermark
if mid(strreverse(watermark),i,1) "." or mid(strreverse(watermark),i,1) " " or mid(strreverse(watermark),i,1) = "_" then
fontSize = 2
fontColor_Red = 255
else
fontSize = 2
fontColor_Red = 0
end if
if pos_left > 0 then
pos_left = pos_left - (fontSize * i)
else
pos_left = maxWidth - (fontSize * i)
end if
.TextOut Ucase(mid(strreverse(watermark),i,1)), pos_left, pos_top, rgb(fontColor_Red,fontColor_Green,fontColor_Blue)
next
end if
if item = "bas gauche" then
pos_left = 0
pos_top = maxHeight - 70
.TextOut Ucase(watermark), pos_left, pos_top, rgb(fontColor_Red,fontColor_Green,fontColor_Blue)
end if
if item = "bas droite" then
pos_top = maxHeight - 70
for i=1 to len_watermark
if mid(strreverse(watermark),i,1) "." or mid(strreverse(watermark),i,1) " " or mid(strreverse(watermark),i,1) = "_" then
fontSize = 0.5
fontColor_Red = 255
else
fontSize = 0.5
fontColor_Red = 0
end if
if pos_left > 0 then
pos_left = pos_left - (fontSize * i)
else
pos_left = maxWidth - (fontSize * i)
end if
.TextOut Ucase(mid(strreverse(watermark),i,1)), pos_left, pos_top, rgb(fontColor_Red,fontColor_Green,fontColor_Blue)
next
end if
next
end if
Si le watermark est activé mais qu'aucun texte est saisi, je prend par défaut le nom de domaine du site. Pour les coins haut gauche et bas gauche, rien de difficile, mais c'est plus pour les 2 autres que çà me pose problème.
Comme peut le montrer ces 2 screens :
En fait, je pars du bord droit de ma photo, et j'insère 1 par 1 les caractères de mon watermark en allant vers la gauche.
Que dois je faire pour que les watermarks de droite soient placés comme il faut ?
Donc quelqu'un aurait la gentillesse de m'aider s'il vous plait ?
Je commence à devenir fou :D
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 2 oct. 2009 à 11:57
Salut,
Est ce que tu as cherché chez l'éditeur de ton composant si ce n'était pas précisé comment faire ?
Parce que... ça me semble plus être un problème de ton composant Gflax que d'ASP3, ce qui limite un peu le nombre de gens qui peuvent t'aider ici ; mais bon, avec un peu de chance...
Mais il doit sans doute y avoir sur le net des ressources (voire des forums) dédiés à Gflax, je suppose.