| |
Posté le 06 février 2020 - 18:31 |
Bonjour, Je rencontre un nouveau problème totalement bloquant En effet, j’ai besoin de redimensionner une image en mode drHomothétiqueCentré prise à partir de mon périphérique android
J’indique à mon programme que je désire que le fond de l’image destination soit blanc Pourtant, le redimensionnement ne tient pas compte de ce paramètre et les bandes de redimensionnement sont noire au lieu d’être blanche
Cela fait plusieurs heures que je bloque sur ce problème, avez-vous une solution svp ?
sPhoto est une chaîne sPhoto = PhotoLanceAppli()
MyImage est une Image MyImage..CouleurRemplissage..Couleur=Blanc MyImage =sPhoto
dDébutDessin(MyImage) // n'a aucune incidence ... MyImage..CouleurRemplissage..Couleur=Blanc SI dRedimensionne(MyImage,500,500,drHomothétiqueCentré) = Faux ALORS // drHauteQualité Trace("Impossible de redimensionner") FIN dFinDessin(MyImage) // n'a aucune incidence ...
fMakeDir(SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)) fDelete(SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)+"\img.jpg")
IF dSauveImageJPEG(MyImage,SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)+"\img.jpg")=False THEN Info(ErreurInfo()) ELSE Info("Fichier sauvegardé dans "+SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)) // Ce PC\Galaxy Tab S2\Tablet\fondBlanc
END |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 311 messages Popularité : +93 (137 votes) |
|
Posté le 06 février 2020 - 23:33 |
Si tu passe par un champ image paramétré en homothétique centré et fond blanc Cela t'évitera une bonne partie du code. |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2020 - 08:05 |
Le problème, c'est que j'ai besoin de stocker l'image sur le disque avec les dimensions désirées
Hors, dans le code suivant, si mon composant IMG_SansNom1=256*256, j'obtiens une image sauvegardée de 1024*1024
sPhoto est une chaîne sPhoto = PhotoLanceAppli() IMG_SansNom1=sPhoto
fMakeDir(SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)) fDelete(SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)+"\img.jpg")
IF dSauveImageJPEG(IMG_SansNom1,SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)+"\img.jpg")=False THEN Info(ErreurInfo()) ELSE Info("Fichier sauvegardé dans "+SysRepCarteStockage() + [fSep] + ProjetInfo(piNomProjet)) // Ce PC\Galaxy Tab S2\Tablet\fondBlanc END |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2020 - 08:32 |
Voila comment je procède :
1. je place un champ image déclaré en 100% hors écran 2. je récupère les dimensions de l'image d'origine par code, et je redimensionne mon champ image à ces valeurs AVANT de charger mon image dans le champs 3. je charge l'image dans le champs 4. je redimensionne le champ à la taille désirée 5. je sauve le contenu du champ avec dsauveimage
Utilisé en windev, webdev, et mobile |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2020 - 17:47 |
Mon but et de diminuer la taille de l image (photo prise par l utilisateur)
De plus mon image doit toujours être de la même taille 500x500
J utilise donc le mode homothéties centre sans agrandissement , ce qui a pour conséquence de rajouter 2 bandes. De plus ces bandes doivent être blanches , donc je définie le fond de mon image à blanc
Et c est la ou ça se complique sur Android
En effet, si j associe mon image à un champ image utilisant ce mode l aperçu sera ok Mais si je sauve l image avec sauveimage elle ne fera pas 500x500, la taille de mon champ n est pas respecté
Si j essaye de la redimensionner par programmation , alors elle perds les caractéristiques blanche du fond (celui ci devient noire) Je pense que c est un bug windev Mobile sous Android
Bref avez vous un exemple de votre code, car j ai passé 2 jours sur ce problème et je ne m en sors pas |
| |
| |
| | | |
|
| | |
| |
Posté le 07 février 2020 - 18:09 |
Dans votre code vous utilisez 100 pour cent Hors moi j ai besoin de redimensionner l image en homothétique centre sans agrandissement Hors à partir du moment où je redimensionne l image les bandes passent en noire au lieu de rester blanche sur Android |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 311 messages Popularité : +93 (137 votes) |
|
Posté le 08 février 2020 - 11:28 |
Il y a sûrement une erreur entre blanc et noir de la part de pcsoft Utilise la fonction rvb si tu utilise la variable image. La fonction dRedimensionne peut être utilisée avec un champ image. Si tu utilise un champ image à la place de la variable. L'image finale contiendra la couleur de fond. C'est pour cela que je t'ai conseillé le champ mais il faut quand même utiliser dRedimensionne |
| |
| |
| | | |
|
| | |
| |
Posté le 08 février 2020 - 17:32 |
Merci
Mais j'ai testé les 2 méthodes (avec champ image et avec dRedimensionne) Je confirme qu'il y a un bug et que sous Andoid, le fond passe systématiquement en noir des qu'on essaye de redimensionner une photo |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 3 311 messages Popularité : +93 (137 votes) |
|
Posté le 10 février 2020 - 10:17 |
Et avec Rvb ? MyImage..CouleurRemplissage..Couleur=rvb(255,255,255)Message modifié, 10 février 2020 - 10:19 |
| |
| |
| | | |
|
| | |
| |
Posté le 10 février 2020 - 14:55 |
Problème identique A partir du moment ou on utilise la moindre fonction de redimensionnement, ou qu'on modifie les propriétées ..largeur ..hauteur le fond passe en noire |
| |
| |
| | | |
|
| | |