Kompression von Bildern? Verfasst am: 18.03.2008, 23:26
Ich versuche eine VNC-Funktion einzubauen. Dateitransfer usw. fertig jedoch hat mir die Größe der Captures nicht gefallen. So habe ich jpeg compression eingebaut;zwar sind die Bilder nur noch 120-150 kb groß aber ich möchte sie weiter verkleinern...ich habe mir andere RATs angeschaut und habe gemerkt das sie nur das vom server laden was sich im Desktop ändert. Genau das möchte ich auch realisieren aber verstehe gar nicht wie man überhaupt so etwas hinbekommt. Hat jemand irgendeine Idee? Oder ander Methoden meine Bilder unter 100 kb zu schrumpfen..... _________________
Jolo_ Coder
Anmeldedatum: 20.03.2007 Beiträge: 210
Verfasst am: 18.03.2008, 23:34
ich hab was zum erkennen der veränderten pixel gefunden:
Code:
'Bildvergleichsfunktion von C. Arnold
'Auch wenn es unkommentiert ist, müsste man es verstehen.
Private Function PicCompare(Pic1 As PictureBox, Pic2 As PictureBox) As Single
Dim i, j As Integer
Dim Color1, Color2 As Long
Dim TheColors1 As RGBColor
Dim TheColors2 As RGBColor
Dim Agree1, Agree2, Agree3, AllCorrect As Single
Dim Agree1Correct, Agree2Correct, Agree3Correct As Boolean
AllCorrect = 0
Picture3.BackColor = vbWhite
For i = 0 To 320
For j = 0 To 240
If i / 2 = Round(i / 2, 0) Then
If j / 2 = Round(j / 2, 0) Then
Color1 = GetPixel(Pic1.hdc, i, j)
Color2 = GetPixel(Pic2.hdc, i, j)
TheColors1 = Long2RGB(Color1)
TheColors2 = Long2RGB(Color2)
If Color1 <> Color2 Then
If TheColors1.Rot < 1 Then TheColors1.Rot = 1
If TheColors1.Gelb < 1 Then TheColors1.Gelb = 1
If TheColors1.Blau < 1 Then TheColors1.Blau = 1
If TheColors2.Rot < 1 Then TheColors2.Rot = 1
If TheColors2.Gelb < 1 Then TheColors2.Gelb = 1
If TheColors2.Blau < 1 Then TheColors2.Blau = 1
If Agree1 > 75 And Agree1 < 125 Then
Agree1Correct = True
Else
Agree1Correct = False
End If
If Agree2 > 75 And Agree2 < 125 Then
Agree2Correct = True
Else
Agree2Correct = False
End If
If Agree3 > 75 And Agree3 < 125 Then
Agree3Correct = True
Else
Agree3Correct = False
End If
If Agree1Correct = False And Agree2Correct = False And Agree3Correct = False Then
AllCorrect = AllCorrect + 1
On Error Resume Next
SetPixel Picture3.hdc, i, j, vbBlue
On Error GoTo 0
End If
End If
End If
End If
Next j
Next i
PicCompare = AllCorrect
End Function
habs noch nicht richtig angeschaut und kann deswegen auch nicht sagen ob es funktionier
//Edit: Ich hab was bei planet soruce code gefunden das war eig für ne webcam gedacht aber ich hab schnell anstatt dem bild der webcam den screen eingebaut ^^ die webcam geht trotzdem an... aber das hilft dir sicherlich weiter
Bild als bmp lassen und zippen.
Ist kleiner als wenn du es in jpg umwandelst. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
slayer616_ Coder
Anmeldedatum: 16.05.2007 Beiträge: 90
Verfasst am: 20.03.2008, 11:32
ist aber umständlicher, braucht mehr zeit und macht programm größer...
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 20.03.2008, 12:01
Wird aber oft bei Trojanern eingesetzt.
Gegen eine Erkennung welche Bereiche sich verändert haben und dann nur diese zu übertragen spricht ja nichts und ich hab auch nichts dagegen gesagt.
Und das ist ja wohl Blödsinn, dass es umständlicher ist, mehr Zeit kostet und das Programm größer macht.
In Vergleich zu was?
Zu der JPG Kompression die man einbauen muß, der automatischen Erkennung und der längeren Übertragung?
Probier einfach aus was du machen willst.
War ja lediglich ein Tipp. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)