Sauvegarde d'une Image zoomée dans un fichier

Signaler
-
Messages postés
206
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
13 février 2021
-
Bonjour,


Je souhaite agrandir une image à la taille de mon écran et sauvegarder cette image agrandie dans un fichier.
J'utilise pour cela, le code ci-dessous qui zoom parfaitement mon image à la taille voulue.

Ce que je n'arrive pas à faire c'est la sauvegarde l'image zoomée dans un fichier

Par avance merci pour votre aide.



Image1.Picture = LoadPicture(FNAMEIN)

Call OnZoom
? <--- Onsauvegarde sur le fichier FNAMEOUT
'-------------------------------------------------------------------------------------
' On zoom '
'-------------------------------------------------------------------------------------

Sub OnZoom()
Picture2.Visible = False

Iwidth = Screen.Width
Image1.Width = Iwidth
Image1.Height = Proportion((Iwidth), FNAMEIN)
J1 = (Me.Width - Image1.Width) / 2
J2 = (Me.Height - Image1.Height) / 2
Image1.Move J1, J2

Picture4.Move 0, 0, Screen.Width, Screen.Height
Set Picture4.Picture = Image1.Picture

End Sub

'-----------------------------------------------------------------------------------'
' Calcul du coefficient d'ajustement de la Hauteur '
'-----------------------------------------------------------------------------------'

Function Proportion(Parm1 As Integer, FNAME As String)
Static J1, J2 As Long
If J1 = 0 Then
J1 = LoadPicture(FNAME).Width
J2 = LoadPicture(FNAME).Height
End If
Proportion = Parm1 * (J2 / J1)
End Function

3 réponses

Messages postés
206
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
13 février 2021
7
Salut CPapy,

Moi, je veux faire le contraire... avec une sauvegarde d'un miniature d'image.

On peut sûrement trouver une API GDI qui modifie la taille d'une image... et qui la sauvegarde.

Mais, dans notre cas, pas besoin de se prendre la tête avec des routines compliquées!

Je te propose donc de faire une capture d'écran de la partie d'images zoomée.

Tu trouvera le fichier BAS et l'appelle de la routine dans le menu "capture écran" du jeu "Taquin", posté dernièrement.

Sinon, il te faudra utiliser des routines graphiques si tu veux créer ces zooms en mode caché.

Mais, je pense qu'il y a plus simple, comme un savepicture en mode resize ou une picture rempile avec une image agrandie.

Je regarde pour mon cas, et je pourrai te confirmer la faisabilité de la chose sur un conteneur caché hors écran.... car le VB5 ou 6 pause parfois des problèmes de rafraichissement en mode silencieux!
Messages postés
206
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
13 février 2021
7
Salut,

Je t'ai mis en ligne un exemple simple dans "API", à base de la fonction Paintpicture.

Il y a surement mieux et plus fiable, mais peut-être plus compliqué!
Messages postés
206
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
13 février 2021
7
[sources déplacée dans "truques et Astuces"]