Première question : comment créer un fichier .BMP (ou .JPG, ce serait
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Bonjour,
Avec ça tu peux tout faire mais faut pas être pressé:
ECRITURE D'UN PIXEL
Pset(colonne, ligne), Couleur
LECTURE DE LA COULEUR D'UN PIXEL
Couleur = Point(colonne, ligne)
Mais il y a plein d'autre méthodes et plus savant que moi pour en
parler, par exemple:
Vois la méthode "PaintPicture" d'une picture...
A mon sens, pour l'avoir expérimenté, il faut travailler avec des
images, car au pixel en boucle c'est affreusement long... Et dans ce cadre
il est peut être possible d'intégrer des lettres courbes prédéfinies...
ce qu'en diront les autres...
In fine, le fichier "bmp", a priori on peut aire n'importe quel
du moment que l'on reproduit sa structure et notamment son entête, il faut
se renseigner préalablement sur la structure d'un "bmp", c'est sur le Net,
mais bon, t'as du boulot :o)
Pour le "jpg", je ne sais pas si on peut le faire tout de go, ou s'il ne
faut pas passer d'abord par un format non compressé, comme 'bmp', puis
lancer un 'exe' qui transforme en "jpg", idem, tu as plein de doc sur le
avec ces formats...
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
"Patrice Henrio" a écrit dans le
message de news:
> Première question : comment créer un fichier .BMP (ou .JPG, ce serait
mieux)
> d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
> stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
> éditeur de dessin courant (y compris paint bien sûr).
> Deuxième question : est-il possible d'écrire un texte qui suive une
> comme le nom des fleuves sur les cartes de géographie ?
>
> Merci de vos réponses.
>
>
Bonjour,
Avec ça tu peux tout faire mais faut pas être pressé:
ECRITURE D'UN PIXEL
Pset(colonne, ligne), Couleur
LECTURE DE LA COULEUR D'UN PIXEL
Couleur = Point(colonne, ligne)
Mais il y a plein d'autre méthodes et plus savant que moi pour en
parler, par exemple:
Vois la méthode "PaintPicture" d'une picture...
A mon sens, pour l'avoir expérimenté, il faut travailler avec des
images, car au pixel en boucle c'est affreusement long... Et dans ce cadre
il est peut être possible d'intégrer des lettres courbes prédéfinies...
ce qu'en diront les autres...
In fine, le fichier "bmp", a priori on peut aire n'importe quel
du moment que l'on reproduit sa structure et notamment son entête, il faut
se renseigner préalablement sur la structure d'un "bmp", c'est sur le Net,
mais bon, t'as du boulot :o)
Pour le "jpg", je ne sais pas si on peut le faire tout de go, ou s'il ne
faut pas passer d'abord par un format non compressé, comme 'bmp', puis
lancer un 'exe' qui transforme en "jpg", idem, tu as plein de doc sur le
avec ces formats...
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
"Patrice Henrio" <patrice.henrio.pasdepub@laposte.net> a écrit dans le
message de news: uGsPDPjeEHA.1652@TK2MSFTNGP09.phx.gbl...
> Première question : comment créer un fichier .BMP (ou .JPG, ce serait
mieux)
> d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
> stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
> éditeur de dessin courant (y compris paint bien sûr).
> Deuxième question : est-il possible d'écrire un texte qui suive une
> comme le nom des fleuves sur les cartes de géographie ?
>
> Merci de vos réponses.
>
>
Bonjour,
Avec ça tu peux tout faire mais faut pas être pressé:
ECRITURE D'UN PIXEL
Pset(colonne, ligne), Couleur
LECTURE DE LA COULEUR D'UN PIXEL
Couleur = Point(colonne, ligne)
Mais il y a plein d'autre méthodes et plus savant que moi pour en
parler, par exemple:
Vois la méthode "PaintPicture" d'une picture...
A mon sens, pour l'avoir expérimenté, il faut travailler avec des
images, car au pixel en boucle c'est affreusement long... Et dans ce cadre
il est peut être possible d'intégrer des lettres courbes prédéfinies...
ce qu'en diront les autres...
In fine, le fichier "bmp", a priori on peut aire n'importe quel
du moment que l'on reproduit sa structure et notamment son entête, il faut
se renseigner préalablement sur la structure d'un "bmp", c'est sur le Net,
mais bon, t'as du boulot :o)
Pour le "jpg", je ne sais pas si on peut le faire tout de go, ou s'il ne
faut pas passer d'abord par un format non compressé, comme 'bmp', puis
lancer un 'exe' qui transforme en "jpg", idem, tu as plein de doc sur le
avec ces formats...
--
Merci, @+, bye, Joe
troll75 AROBASE iFrance POINT com
------------------------------------------
Ce message est plein de virus "certifiés"
Le_Troll, éleveur de Trolls depuis César, qui disait:
Avec une hache, celui qui tient le manche a toujours raison !
------------------------------------------
"Patrice Henrio" a écrit dans le
message de news:
> Première question : comment créer un fichier .BMP (ou .JPG, ce serait
mieux)
> d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
> stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
> éditeur de dessin courant (y compris paint bien sûr).
> Deuxième question : est-il possible d'écrire un texte qui suive une
> comme le nom des fleuves sur les cartes de géographie ?
>
> Merci de vos réponses.
>
>
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
mieux) d'une zone rectangulaire de l'écran ? Je veux récupérer cette
zone et la stocker dans un fichier pour qu'elle soit ensuite lue par
n'importe quel éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une
courbe comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
mieux) d'une zone rectangulaire de l'écran ? Je veux récupérer cette
zone et la stocker dans un fichier pour qu'elle soit ensuite lue par
n'importe quel éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une
courbe comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
mieux) d'une zone rectangulaire de l'écran ? Je veux récupérer cette
zone et la stocker dans un fichier pour qu'elle soit ensuite lue par
n'importe quel éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une
courbe comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait mieux)
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait mieux)
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait mieux)
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
"Patrice Henrio" a écrit dans le
message de news:Deuxième question : est-il possible d'écrire un texte qui suive une
courbe comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
"Patrice Henrio" <patrice.henrio.pasdepub@laposte.net> a écrit dans le
message de news:uGsPDPjeEHA.1652@TK2MSFTNGP09.phx.gbl
Deuxième question : est-il possible d'écrire un texte qui suive une
courbe comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
"Patrice Henrio" a écrit dans le
message de news:Deuxième question : est-il possible d'écrire un texte qui suive une
courbe comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Patrice Henrio wrote:
> Première question : comment créer un fichier .BMP (ou .JPG, ce serait
> d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
> stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
> éditeur de dessin courant (y compris paint bien sûr).
Voici une jolie fonction rapide qui fait tout le boulot. Celle-ci prend
une capture de tout l'écran, mais il suffit de modifier les variables
DeskW, DeskH ainsi que le "0, 0" lors de l'appel de BitBlt pour ne
saisire que la zone souhaitée.
Les déclarations nécessaire pour ce code sont plus bas.
Public Function TakeScreenShot(FichierSortie As String) As Single
'Sub tout en un prenant 1 screenshot et l'enregistrant dans FichierSortie
Dim TempDC As Long, TempBMP As Long, lPt As Long
Dim DefDIB As BITMAPINFO
Dim t1 As Single
'capture
DeskW = Screen.Width / 15
DeskH = Screen.Height / 15
TempDC = CreateCompatibleDC(GetDC(0))
DeskDC = GetDC(GetDesktopWindow())
With DefDIB
.bmiHeader.biWidth = DeskW 'largeur
.bmiHeader.biHeight = DeskH 'hauteur
.bmiHeader.biBitCount = 24 'couleurs
.bmiHeader.biPlanes = 1 'nombre de couche de travail
.bmiHeader.biSize = Len(.bmiHeader)
End With
TempBMP = CreateDIBSection(TempDC, DefDIB, 0, lPt, 0, 0)
TempHBITMAP = SelectObject(TempDC, TempBMP)
t1 = Timer
BitBlt TempDC, 0, 0, DeskW, DeskH, DeskDC, 0, 0, vbSrcCopy
TakeScreenShot = Timer - t1
'sauvegarde
Dim BMPID As GUID, BMPHEAP As PicBmp, SCRPTR As IPictureDisp
Dim exeAPI As Long
With BMPID
.Data1 = &H20400
.Data4(0) = &HC0
.Data4(7) = &H46
End With
With BMPHEAP
.SIZE = 20
.Type = vbPicTypeBitmap
.hBmp = TempBMP 'Handle de la bitmap
End With
exeAPI = OleCreatePictureIndirect(BMPHEAP, BMPID, 1, SCRPTR)
If Dir(FichierSortie, vbNormal) <> "" Then
t = MsgBox("Le fichier " & FichierSortie & " existe déjà.
Ecraser ?", vbQuestion + vbYesNoCancel, "Capture")
If t = vbYes Then SavePicture SCRPTR, FichierSortie
Else
SavePicture SCRPTR, FichierSortie
End If
DeleteObject TempBMP
DeleteDC TempDC
ReleaseDC GetDesktopWindow(), DeskDC
Set SCRPTR = Nothing
End Function
============================= > 'declarations
'certaines sont peut etre inutile
'================================ >
Private Type BITMAPINFOHEADER
biSize As Long 'Taille en octet du type
biWidth As Long 'x
biHeight As Long 'y
biPlanes As Integer 'Plan (?) défaut=1
biBitCount As Integer 'Bits par pixel (couleurs)
biCompression As Long 'Compression utilisé (défaut=0)
biSizeImage As Long 'Taille de l'image, octet
biXPelsPerMeter As Long 'Résolution (comme le dpi, mais en dpm)
biYPelsPerMeter As Long 'Résolution hauteur
biClrUsed As Long '?
biClrImportant As Long '?
End Type
Private Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbReserved As Byte
End Type
Private Type BITMAPINFO
bmiHeader As BITMAPINFOHEADER 'Définition bitmap
bmiColors As RGBQUAD 'Stockage des couleurs
End Type
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long)
As Long
Private Declare Function CreateCompatibleDC Lib "gdi32.dll" (ByVal hdc
As Long) As Long
Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long,
ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long,
ByRef lpBits As Any) As Long
Private Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As Long) As
Long
Private Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As
Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As
Long) As Long
Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long,
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As
Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long,
ByVal dwRop As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long,
ByVal hdc As Long) As Long
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End Type
Private Type PicBmp
SIZE As Long
Type As Long
hBmp As Long
hPal As Long
Reserved As Long
End Type
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll"
(PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long,
IPic As IPicture) As Long
> Deuxième question : est-il possible d'écrire un texte qui suive une
> comme le nom des fleuves sur les cartes de géographie ?
Désolé ça je sais pas.
>
> Merci de vos réponses.
>
DR.
Patrice Henrio wrote:
> Première question : comment créer un fichier .BMP (ou .JPG, ce serait
> d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
> stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
> éditeur de dessin courant (y compris paint bien sûr).
Voici une jolie fonction rapide qui fait tout le boulot. Celle-ci prend
une capture de tout l'écran, mais il suffit de modifier les variables
DeskW, DeskH ainsi que le "0, 0" lors de l'appel de BitBlt pour ne
saisire que la zone souhaitée.
Les déclarations nécessaire pour ce code sont plus bas.
Public Function TakeScreenShot(FichierSortie As String) As Single
'Sub tout en un prenant 1 screenshot et l'enregistrant dans FichierSortie
Dim TempDC As Long, TempBMP As Long, lPt As Long
Dim DefDIB As BITMAPINFO
Dim t1 As Single
'capture
DeskW = Screen.Width / 15
DeskH = Screen.Height / 15
TempDC = CreateCompatibleDC(GetDC(0))
DeskDC = GetDC(GetDesktopWindow())
With DefDIB
.bmiHeader.biWidth = DeskW 'largeur
.bmiHeader.biHeight = DeskH 'hauteur
.bmiHeader.biBitCount = 24 'couleurs
.bmiHeader.biPlanes = 1 'nombre de couche de travail
.bmiHeader.biSize = Len(.bmiHeader)
End With
TempBMP = CreateDIBSection(TempDC, DefDIB, 0, lPt, 0, 0)
TempHBITMAP = SelectObject(TempDC, TempBMP)
t1 = Timer
BitBlt TempDC, 0, 0, DeskW, DeskH, DeskDC, 0, 0, vbSrcCopy
TakeScreenShot = Timer - t1
'sauvegarde
Dim BMPID As GUID, BMPHEAP As PicBmp, SCRPTR As IPictureDisp
Dim exeAPI As Long
With BMPID
.Data1 = &H20400
.Data4(0) = &HC0
.Data4(7) = &H46
End With
With BMPHEAP
.SIZE = 20
.Type = vbPicTypeBitmap
.hBmp = TempBMP 'Handle de la bitmap
End With
exeAPI = OleCreatePictureIndirect(BMPHEAP, BMPID, 1, SCRPTR)
If Dir(FichierSortie, vbNormal) <> "" Then
t = MsgBox("Le fichier " & FichierSortie & " existe déjà.
Ecraser ?", vbQuestion + vbYesNoCancel, "Capture")
If t = vbYes Then SavePicture SCRPTR, FichierSortie
Else
SavePicture SCRPTR, FichierSortie
End If
DeleteObject TempBMP
DeleteDC TempDC
ReleaseDC GetDesktopWindow(), DeskDC
Set SCRPTR = Nothing
End Function
============================= > 'declarations
'certaines sont peut etre inutile
'================================ >
Private Type BITMAPINFOHEADER
biSize As Long 'Taille en octet du type
biWidth As Long 'x
biHeight As Long 'y
biPlanes As Integer 'Plan (?) défaut=1
biBitCount As Integer 'Bits par pixel (couleurs)
biCompression As Long 'Compression utilisé (défaut=0)
biSizeImage As Long 'Taille de l'image, octet
biXPelsPerMeter As Long 'Résolution (comme le dpi, mais en dpm)
biYPelsPerMeter As Long 'Résolution hauteur
biClrUsed As Long '?
biClrImportant As Long '?
End Type
Private Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbReserved As Byte
End Type
Private Type BITMAPINFO
bmiHeader As BITMAPINFOHEADER 'Définition bitmap
bmiColors As RGBQUAD 'Stockage des couleurs
End Type
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long)
As Long
Private Declare Function CreateCompatibleDC Lib "gdi32.dll" (ByVal hdc
As Long) As Long
Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long,
ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long,
ByRef lpBits As Any) As Long
Private Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As Long) As
Long
Private Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As
Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As
Long) As Long
Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long,
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As
Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long,
ByVal dwRop As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long,
ByVal hdc As Long) As Long
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End Type
Private Type PicBmp
SIZE As Long
Type As Long
hBmp As Long
hPal As Long
Reserved As Long
End Type
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll"
(PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long,
IPic As IPicture) As Long
> Deuxième question : est-il possible d'écrire un texte qui suive une
> comme le nom des fleuves sur les cartes de géographie ?
Désolé ça je sais pas.
>
> Merci de vos réponses.
>
DR.
Patrice Henrio wrote:
> Première question : comment créer un fichier .BMP (ou .JPG, ce serait
> d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
> stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
> éditeur de dessin courant (y compris paint bien sûr).
Voici une jolie fonction rapide qui fait tout le boulot. Celle-ci prend
une capture de tout l'écran, mais il suffit de modifier les variables
DeskW, DeskH ainsi que le "0, 0" lors de l'appel de BitBlt pour ne
saisire que la zone souhaitée.
Les déclarations nécessaire pour ce code sont plus bas.
Public Function TakeScreenShot(FichierSortie As String) As Single
'Sub tout en un prenant 1 screenshot et l'enregistrant dans FichierSortie
Dim TempDC As Long, TempBMP As Long, lPt As Long
Dim DefDIB As BITMAPINFO
Dim t1 As Single
'capture
DeskW = Screen.Width / 15
DeskH = Screen.Height / 15
TempDC = CreateCompatibleDC(GetDC(0))
DeskDC = GetDC(GetDesktopWindow())
With DefDIB
.bmiHeader.biWidth = DeskW 'largeur
.bmiHeader.biHeight = DeskH 'hauteur
.bmiHeader.biBitCount = 24 'couleurs
.bmiHeader.biPlanes = 1 'nombre de couche de travail
.bmiHeader.biSize = Len(.bmiHeader)
End With
TempBMP = CreateDIBSection(TempDC, DefDIB, 0, lPt, 0, 0)
TempHBITMAP = SelectObject(TempDC, TempBMP)
t1 = Timer
BitBlt TempDC, 0, 0, DeskW, DeskH, DeskDC, 0, 0, vbSrcCopy
TakeScreenShot = Timer - t1
'sauvegarde
Dim BMPID As GUID, BMPHEAP As PicBmp, SCRPTR As IPictureDisp
Dim exeAPI As Long
With BMPID
.Data1 = &H20400
.Data4(0) = &HC0
.Data4(7) = &H46
End With
With BMPHEAP
.SIZE = 20
.Type = vbPicTypeBitmap
.hBmp = TempBMP 'Handle de la bitmap
End With
exeAPI = OleCreatePictureIndirect(BMPHEAP, BMPID, 1, SCRPTR)
If Dir(FichierSortie, vbNormal) <> "" Then
t = MsgBox("Le fichier " & FichierSortie & " existe déjà.
Ecraser ?", vbQuestion + vbYesNoCancel, "Capture")
If t = vbYes Then SavePicture SCRPTR, FichierSortie
Else
SavePicture SCRPTR, FichierSortie
End If
DeleteObject TempBMP
DeleteDC TempDC
ReleaseDC GetDesktopWindow(), DeskDC
Set SCRPTR = Nothing
End Function
============================= > 'declarations
'certaines sont peut etre inutile
'================================ >
Private Type BITMAPINFOHEADER
biSize As Long 'Taille en octet du type
biWidth As Long 'x
biHeight As Long 'y
biPlanes As Integer 'Plan (?) défaut=1
biBitCount As Integer 'Bits par pixel (couleurs)
biCompression As Long 'Compression utilisé (défaut=0)
biSizeImage As Long 'Taille de l'image, octet
biXPelsPerMeter As Long 'Résolution (comme le dpi, mais en dpm)
biYPelsPerMeter As Long 'Résolution hauteur
biClrUsed As Long '?
biClrImportant As Long '?
End Type
Private Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbReserved As Byte
End Type
Private Type BITMAPINFO
bmiHeader As BITMAPINFOHEADER 'Définition bitmap
bmiColors As RGBQUAD 'Stockage des couleurs
End Type
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetDC Lib "user32.dll" (ByVal hwnd As Long) As
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long)
As Long
Private Declare Function CreateCompatibleDC Lib "gdi32.dll" (ByVal hdc
As Long) As Long
Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long,
ByVal nHeight As Long, ByVal nPlanes As Long, ByVal nBitCount As Long,
ByRef lpBits As Any) As Long
Private Declare Function DeleteDC Lib "gdi32.dll" (ByVal hdc As Long) As
Long
Private Declare Function SelectObject Lib "gdi32.dll" (ByVal hdc As
Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32.dll" (ByVal hObject As
Long) As Long
Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long,
ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As
Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long,
ByVal dwRop As Long) As Long
Private Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long,
ByVal hdc As Long) As Long
Private Type GUID
Data1 As Long
Data2 As Integer
Data3 As Integer
Data4(7) As Byte
End Type
Private Type PicBmp
SIZE As Long
Type As Long
hBmp As Long
hPal As Long
Reserved As Long
End Type
Private Declare Function OleCreatePictureIndirect Lib "olepro32.dll"
(PicDesc As PicBmp, RefIID As GUID, ByVal fPictureOwnsHandle As Long,
IPic As IPicture) As Long
> Deuxième question : est-il possible d'écrire un texte qui suive une
> comme le nom des fleuves sur les cartes de géographie ?
Désolé ça je sais pas.
>
> Merci de vos réponses.
>
DR.
Merci à vous deux, je viens en effet de me pencher sur savePicture
mais j'ai un peu de mal avec l'histoire des autoredraw du contenant
et du contenu (j'ai un pictureBox dans une forme).
Si je veux dessiner dedans que faut-il déclarer pour autoredraw ?
Merci à vous deux, je viens en effet de me pencher sur savePicture
mais j'ai un peu de mal avec l'histoire des autoredraw du contenant
et du contenu (j'ai un pictureBox dans une forme).
Si je veux dessiner dedans que faut-il déclarer pour autoredraw ?
Merci à vous deux, je viens en effet de me pencher sur savePicture
mais j'ai un peu de mal avec l'histoire des autoredraw du contenant
et du contenu (j'ai un pictureBox dans une forme).
Si je veux dessiner dedans que faut-il déclarer pour autoredraw ?
Hello,
Autoredraw spécifie si l'objet sur lequel on va peindre gardera en mémoire
les informations.
Si on n'utilise pas d'autoredraw, pour peu que la fenêtre sorte de l'écran
la zone non visible sera effacée.
Donc il s'agit de l'objet sur lequel tu trace, ici la picturebox.
Donc pour form, autoredraw n'a pas d'influence.
Pour picturebox, à true, je suppose.
NB : quand on fait du traçage par APIs avec autoredraw, il faut utiliser
refresh sans quoi la modification n'est pas prise en compte.
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Patrice Henrio" a écrit dans le
message de news:
> Merci à vous deux, je viens en effet de me pencher sur savePicture
> mais j'ai un peu de mal avec l'histoire des autoredraw du contenant
> et du contenu (j'ai un pictureBox dans une forme).
> Si je veux dessiner dedans que faut-il déclarer pour autoredraw ?
Hello,
Autoredraw spécifie si l'objet sur lequel on va peindre gardera en mémoire
les informations.
Si on n'utilise pas d'autoredraw, pour peu que la fenêtre sorte de l'écran
la zone non visible sera effacée.
Donc il s'agit de l'objet sur lequel tu trace, ici la picturebox.
Donc pour form, autoredraw n'a pas d'influence.
Pour picturebox, à true, je suppose.
NB : quand on fait du traçage par APIs avec autoredraw, il faut utiliser
refresh sans quoi la modification n'est pas prise en compte.
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Patrice Henrio" <patrice.henrio.pasdepub@laposte.net> a écrit dans le
message de news:evY09tkeEHA.3124@TK2MSFTNGP09.phx.gbl
> Merci à vous deux, je viens en effet de me pencher sur savePicture
> mais j'ai un peu de mal avec l'histoire des autoredraw du contenant
> et du contenu (j'ai un pictureBox dans une forme).
> Si je veux dessiner dedans que faut-il déclarer pour autoredraw ?
Hello,
Autoredraw spécifie si l'objet sur lequel on va peindre gardera en mémoire
les informations.
Si on n'utilise pas d'autoredraw, pour peu que la fenêtre sorte de l'écran
la zone non visible sera effacée.
Donc il s'agit de l'objet sur lequel tu trace, ici la picturebox.
Donc pour form, autoredraw n'a pas d'influence.
Pour picturebox, à true, je suppose.
NB : quand on fait du traçage par APIs avec autoredraw, il faut utiliser
refresh sans quoi la modification n'est pas prise en compte.
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Patrice Henrio" a écrit dans le
message de news:
> Merci à vous deux, je viens en effet de me pencher sur savePicture
> mais j'ai un peu de mal avec l'histoire des autoredraw du contenant
> et du contenu (j'ai un pictureBox dans une forme).
> Si je veux dessiner dedans que faut-il déclarer pour autoredraw ?
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.
Première question : comment créer un fichier .BMP (ou .JPG, ce serait
d'une zone rectangulaire de l'écran ? Je veux récupérer cette zone et la
stocker dans un fichier pour qu'elle soit ensuite lue par n'importe quel
éditeur de dessin courant (y compris paint bien sûr).
Deuxième question : est-il possible d'écrire un texte qui suive une courbe
comme le nom des fleuves sur les cartes de géographie ?
Merci de vos réponses.