Avatar billede bkp Nybegynder
03. juli 1999 - 08:27 Der er 13 kommentarer og
1 løsning

Sende udsnit af skærm til udklipsholder??

Er der en der ved om det er muligt at klippe et udsnit af skærmen (som i snap32) og sende det til Udklipsholder??
Det vil løse mit problem på
http://www.eksperten.dk/spm.asp?id=2325
Avatar billede bkp Nybegynder
03. juli 1999 - 20:13 #1
Eller er der en der kender brugen af Declare BitBit()
Avatar billede bkp Nybegynder
03. juli 1999 - 20:14 #2
Skåret ud i pap: Altså en af Windows api funktioner >> BitBit
Avatar billede bkp Nybegynder
03. juli 1999 - 21:54 #3
Undskyld den hedder ikke BitBit men:
Declare Function BitBlt Lib "gdi32" Alias "BitBlt" (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
Avatar billede bkp Nybegynder
04. juli 1999 - 02:33 #4
Har selv fundet en løsning, jeg har oprettet et modul med følgende kode:

Public Declare Function BitBlt Lib "gdi32" (ByVal dhDC As Integer, ByVal dX As Integer, ByVal dY As Integer, ByVal srcW As Integer, ByVal srcH As Integer, ByVal shDC As Integer, ByVal sX As Integer, ByVal sY As Integer, ByVal op As Long) As Integer
Const SRCCOPY = &HCC0020

Sub Resize(Frm1 As Form, Im1 As Image, Pi1 As PictureBox, ByVal Procent As Integer, Optional SourceTilbageTilStr As Boolean)
    Dim Sta
    Dim X As Integer
    Dim Y As Integer
    Dim W As Integer
    Dim H As Integer
    Dim Ret As Integer
    Im1.Stretch = True
    Pi1.AutoRedraw = True
    If Procent > 0 Then
        Im1.Width = (Procent / 100) * Im1.Width
        Im1.Height = (Procent / 100) * Im1.Height
    End If
    Pi1.Width = Im1.Width
    Pi1.Height = Im1.Height
    X = Im1.Left / Screen.TwipsPerPixelX
    Y = Im1.Top / Screen.TwipsPerPixelY
    W = Pi1.Width / Screen.TwipsPerPixelX
    H = Pi1.Height / Screen.TwipsPerPixelY
    Ret = BitBlt(Pi1.hdc, 0, 0, W, H, Frm1.hdc, X, Y, SRCCOPY)
    Pi1.Refresh
    If SourceTilbageTilStr = True Then
        If Procent > 0 Then
            Im1.Width = (Procent / 100) / Im1.Width
            Im1.Height = (Procent / 100) / Im1.Height
        End If
    End If
End Sub

Og på en form har jeg placeret en Image indeholdende et billede, og en tom Picturebox, og skrevet følgende kode:

Resize Me, Image1, Picture1, 25, True

Det virker faktisk sådan at men via Savepicture nu kan gemme begge billeder i deres opløsning!

Men jeg ved stadig ikke hvordan jeg gemmer en BMP som en JPG??
Avatar billede bkp Nybegynder
04. juli 1999 - 02:35 #5
Æhh taler jeg kun med mig selv eller hvad :-) (måske er det alderen)
Avatar billede 127144146281 Nybegynder
06. juli 1999 - 01:50 #6
ja du får da snakket en del med dig selv, nå men for at gemme billedet skal du bruge: SavePicture (inbygget funktion i VB, gemmer dog kun i bmp)
Avatar billede bkp Nybegynder
06. juli 1999 - 16:17 #7
Jeg har løst alle mine problemer ved at købe ImgX.dll for 24$ på http://DesignerControls.com
Avatar billede 127144146281 Nybegynder
06. juli 1999 - 17:25 #8
25$
Avatar billede bkp Nybegynder
06. juli 1999 - 18:00 #9
Ok
Avatar billede bkp Nybegynder
06. juli 1999 - 18:01 #10
Til ADMIN
Måske admin vil lukke dette spørgsmål og give mig pointene tilbage, da jeg selv har løst problemmet
Avatar billede 127144146281 Nybegynder
06. juli 1999 - 18:15 #11
Det er der mange der har spurgt efter, men hvis du giver mig pointene kan jeg lave et ? til med 500 point, så du kan få dem igen
Avatar billede bkp Nybegynder
06. juli 1999 - 21:49 #12
Jo men så må du lige svare igen!
Avatar billede 127144146281 Nybegynder
06. juli 1999 - 21:53 #13
ok, jeg opretter lige et ? til 500 point så
Avatar billede 127144146281 Nybegynder
06. juli 1999 - 21:56 #14
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester