Bonjour, je me suis remis à mon moteur 2D et j'ai toujours ce même problème de texture :
Voici mon code :
Sub SpeedLoadTex(TexPath As String, ByVal iX As Single, ByVal iY As Single, Height As Long, Width As Long)
Dim TexInfo As BITMAPINFO
Dim TexBitArray() As Byte
If iY <> 0 And iX <> 0 Then
TexPicture.Picture = LoadPicture(TexPath)
' Initialisation des données de l'image
' -----------------------------------------------
TexInfo.bmiHeader.biSize = Len(TexInfo.bmiHeader)
' Redimension du tableau et récupération des données
' ------------------------------------------------------------------------------------------------------------------------
ReDim TexBitArray(1 To 4, 1 To TexPicture.Width, 1 To TexPicture.Height)
DoEvents
pourquoi iX et iY puisque toute la table est utilisée
à quoi sert Height et With en paramètres.
si tu veux limiter il faut jouer sur nStartScan et nNumScans,
donc sur le nombre de Lignes, iX devrait toujours commencer à 1, et si
iY est différent de 1, le bArray devrait être plus grand ou le biHeight
plus petit, ce qui n'est pas le cas ici puisque toute la taille de
TexPicture est utilisée.
iX et iY ne sont pas reconnus comme paramètres par
GetDIBits
il s'agit seulement d'une adresse et c'est à partir de cette adresse
que le tableau sera rempli en commençant par la Ligne debut=nStartScan pour un nombre de Lignes=nNumScans
dans l'exemple 800x600 tous les 800 pixels d'une Ligne seront pris, il n'y a pas de paramètres X début.
Pendant que j'y suis comment je peux faire alors pour copier mon
tableau de byte dans le tableau principale à une certaine place et le
plus rapidement possible ?