Espacio para programadores novatos o experimentados (o cualquiera que quiera aprender) en el lenguaje BASIC (o cualquier otro lenguaje de programación: C/C++, Java, PHP...) den a conocer sus nuevos programas, pidan ayuda, den información, etc...
Ver más- 1,548 Miembros
- 711 Temas
- 417 Seguidores
Creé mi propio formato de mapa de bits
dijo:
Option Explicit
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal crColor As Long) As Long
Public Sub GuardarImagen(Path As String, Picture As PictureBox)
Dim Line As String
Dim X, Y As Single
Dim PID As Long
Open App.Path & "imagen.tmp" For Output As #1
For Y = 0 To Picture.Height - 1 Step 1
For X = 0 To Picture.Width - 1 Step 1
Line = Line & GetPixel(Picture.hdc, X, Y) & "|"
Next
Print #1, Line
Line = ""
Next
Close #1
Call Shell(App.Path & "rar.exe a -y -p1281 -m5 -ep " & Chr(34) & Path & Chr(34) & " " & Chr(34) & App.Path & "imagen.tmp" & Chr(34))
End Sub
Public Sub CargarImagen(Path As String, Picture As PictureBox)
Dim Lines As String
Dim Line() As String
Dim X, Y As Single
Dim PID As Long
PID = Shell(App.Path & "rar.exe x -y -p1281 " & Chr(34) & Path & Chr(34) & " " & Chr(34) & App.Path & Chr(34))
While DetectarProceso(PID) = True
'Espera
Wend
DoEvents
Y = 0
Open App.Path & "imagen.tmp" For Input As #1
While Not EOF(1)
Line Input #1, Lines
Line = Split(Lines, "|"![]()
For X = 0 To UBound(Line) - 1 Step 1
Call SetPixel(Picture.hdc, X, Y, Line(X))
Next
Y = Y + 1
Wend
Close #1
End Sub
Eso va en un módulo para poder usarlas. Lo siguiente que haré es ver si puedo adaptarlas para crear un formato de video y mi meta es hacer una dll que cargue recursos en tiempo de ejecución, me refiero a un archivo del cual un programa pueda extraer una imagen por ejemplo pero sin extraerla a un archivo externo, sino a una variable parecido a como funcionan los archivos .mpq que usa la empresa blizzard con el storm.dll en juegos como el Warcraft 3 o el Wow.
- 1Calificación
- 1Seguidores
- 150Visitas
- 0Favoritos
Global
Argentina
Chile
Colombia
España
México
Perú
Uruguay
Venezuela

3 respuestas
Muy interesante, está muy buena la idea. Igual, te falto definir DetectarProceso que debe ser algún procedimiento que no lo encuentro en el código.
Salu2 y +Bytes.
Perdón se me olvido, esto va en otro módulo
No entiendo que hace podés ser más explícito... Es para cambiar de resolución ?? Lo que querés hacer es inyectar una aplicación o mejor dicho un programa y poder cambiarle de resolución?? Si es así para que ?? Se ve complicado el código.. jaaaa