vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
Re: Region erstellen, einen Teil davon nur anzeigen und mit einem Brush versehen 
Autor: Jack
Datum: 03.07.11 14:43

Das hab ich leider befürchtet, dass ich mein Problem nicht richtig beschreiben kann.

http://www.xtreme-simpsons.de/jack/beispiel2.jpg

Auf diesem Bild sieht man oben meine gesamte Region - soll eine Berglandschaft darstellen.
Der rotumrandete Teil, soll ausgeschnitten und in meiner Form dargestellt werden.
Das Ergebnis wäre richtig, wenn das dick rotumrandete Bild rauskäme (wie gesagt, der ausgeschnittene Teil der Region passt). Leider kommt als Ergebnis meines Codes aber das duck blauumrandete raus.
Die "Textur" stimmt nicht, die wird nicht mit ausgeschnitten.


Code habe ich folgenden Verwendet. Ich hoffe, es ist nachvollziehbar was ich hier mache. Übersicht ist nicht gerade meine Stärke. Ich hab die Declarationen der Funktionen weggelassen, da ich sonst hier die Obergrenze des Textes überschritten hätte.

Private screenshow_region As Long
Private screensize_region As Long
Private hintergrund_region As Long
Private hBrush As Long
 
Private camera_x As Single
Private camera_y As Single
 
 
Private Sub Form_Load()
Dim hBitmap As Long
Dim Retval As Long
 
Me.AutoRedraw = True
camera_x = 100
camera_y = 250
'Hintergrundmuster erstellen
hBitmap = LoadImage(App.hInstance, "C:\hintergrund.bmp", 0, 300, 300, &H10)
hBrush = CreatePatternBrush(hBitmap)
 
 
hintergrund_region = CreateRectRgn(0, 0, 0, 0)
screensize_region = CreateRectRgn(0, 0, 250, 250)
screenshow_region = CreateRectRgn(0, 0, 0, 0)
 
                        Dim figure(23) As POINTAPI
                        figure(0).x = 0
                        figure(0).y = 456
                        figure(1).x = 67
                        figure(1).y = 411
                        figure(2).x = 129
                        figure(2).y = 414
                        figure(3).x = 138
                        figure(3).y = 372
                        figure(4).x = 198
                        figure(4).y = 364
                        figure(5).x = 264
                        figure(5).y = 351
                        figure(6).x = 321
                        figure(6).y = 326
                        figure(7).x = 348
                        figure(7).y = 294
                        figure(8).x = 415
                        figure(8).y = 294
                        figure(9).x = 468
                        figure(9).y = 321
                        figure(10).x = 511
                        figure(10).y = 350
                        figure(11).x = 557
                        figure(11).y = 351
                        figure(12).x = 616
                        figure(12).y = 351
                        figure(13).x = 671
                        figure(13).y = 308
                        figure(14).x = 694
                        figure(14).y = 250
                        figure(15).x = 727
                        figure(15).y = 246
                        figure(16).x = 742
                        figure(16).y = 202
                        figure(17).x = 774
                        figure(17).y = 202
                        figure(18).x = 816
                        figure(18).y = 143
                        figure(19).x = 854
                        figure(19).y = 141
                        figure(20).x = 885
                        figure(20).y = 105
                        figure(21).x = 912
                        figure(21).y = 82
                        figure(22).x = 1511
                        figure(22).y = 520
                        figure(23).x = 3
                        figure(23).y = 519
 
                        hintergrund_region = CreatePolygonRgn(figure(0), 24, 1)
 
show_hintergrund
 
End Sub
 
Private Sub show_hintergrund()
Me.Cls
screensize_region = CreateRectRgn(0, 0, 250, 250)
screenshow_region = CreateRectRgn(0, 0, 0, 0)
hOldBrush = SelectObject(Me.hdc, hBrush)
Call OffsetRgn(screensize_region, camera_x, camera_y)
 
CombineRgn screenshow_region, hintergrund_region, screensize_region, 1
 
Call OffsetRgn(screenshow_region, -camera_x, -camera_y)
 
Call PaintRgn(Me.hdc, screenshow_region)
 
End Sub

Unkraut vergeht nicht

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Region erstellen, einen Teil davon nur anzeigen und mit eine...3.803Jack03.07.11 12:06
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.375ModeratorMartoeng03.07.11 12:16
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.474Jack03.07.11 14:43
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.488Zardoz03.07.11 14:37
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.293Jack03.07.11 14:45
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.353Zardoz03.07.11 15:34
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.379Jack03.07.11 15:47
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.434ModeratorMartoeng03.07.11 16:10
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.305Jack03.07.11 16:43
Re: Region erstellen, einen Teil davon nur anzeigen und mit ...2.513ModeratorMartoeng03.07.11 17:01

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel