| |
VB & Windows APIRe: StretchBLT aufrufen | | | Autor: Rippler | Datum: 17.02.10 23:23 |
| vielleicht hilft dir das hier weiter
command1, picture1 picture2
Private Declare Function StretchBlt Lib "gdi32" ( _
ByVal hdc 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 nSrcWidth As Long, _
ByVal nSrcHeight As Long, _
ByVal dwRop As Long) As Long
Const SRCCOPY = &HCC0020
Private Sub Command1_Click()
Dim hdc As Long
Dim nWidth As Long
Dim nHeight As Long
Dim hSrcDC As Long
Dim nSrcWidth As Long
Dim nSrcHeight As Long
nSrcWidth = Picture2.Width / Screen.TwipsPerPixelX
nSrcHeight = Picture2.Height / Screen.TwipsPerPixelY
nWidth = nSrcWidth * 2
nHeight = nSrcHeight * 2
hSrcDC = Picture1.hdc
hdc = Picture2.hdc
StretchBlt hdc, 0, 0, nWidth, nHeight, hSrcDC, 0, 0, nSrcWidth, nSrcHeight, SRCCOPY
End Sub | |
StretchBLT aufrufen | | | Autor: NorbertM | Datum: 17.02.10 19:38 |
| Hallo,
seit drei Tagen versuche ich irgendwie das ganz Thema Handle etc zu verstehen und offen gestanden: Es gibt 100 Seiten zu VB aber nix gscheites zu VBA
Ich will ein Bild mit VBA in Excel gemacht aus einem Scrennshot vom Bildschirm in eine Picture-Box laden, dann mit der maus ein Rechteck wählen und den Ausschnitt bestimmen und dann beschneiden und ggf. nochmals zeigen und final sichern.
Ich kann schon einen Scrennshot machen, anzeigen, den Ausschnitt bestimmen und die Koordinaten festlegen. Ich kann die StretchBLT schin declaren, den Code übersetzen, aber er tut nicht:
Denn ich muss ich das nur noch irgendwie an diese nette StretchBlt übergeben:
Was ich habe ist:
UserForm1.Image1.picture = loadpicture("d:\file.bmp") ' oder anders hergestellt per Screenshot
UserForm2.Image2.picture ' ist momentan noch leer und soll mit dem Ausschnitt mal befüllt werden.
Const vbSrcCopy = 13369376
x,y,w,h sind vier Long variablen mit den
Beschneidungsparamtern (in Prozent zum Orginalbild), dessen Größe ich kenne, kann das also auf die exakten Pixel des orginalbildes umrechnen.
und jetzt?
hdctarget= ????
hdcSource = UserForm1.image1.picture (???)
StretchBlt hdctarget, x, y, w, h, hdcSource, x, y, w, h, vbSrcCopy
Kann mir einer erklären, was ich da als Übergabeparameter aufrufen muss?
Ich danke uim Voraus für erklärende Worte
oder Links wo man sowas Verständlich erklärt bekommt.
Norbert | |
Re: StretchBLT aufrufen | | | Autor: Zardoz | Datum: 18.02.10 15:02 |
| Hallo Norbert,
das geht über CreateCompatibleDC.
Gruss,
Zardoz | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevCoolbar 3.0
Professionelle Toolbars im modernen Design!
Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access Weitere Infos
|