Jag har gjort ett pussel och skickat runt det. Men någon har påpekat att formen på bitarna inte är "pussel" lika. Som vanligt hittar dom något att anmärka på ;) Finns hur mycket som helst därute om du söker på Puzzle Jag har kommit en bit på väg att få till det som jag vill men jag har fastnat.Avancerad bildbehandling
Pusselbitarna är gjorda av en jpg bild som jag delat upp i ett antal bitar beroende vad användare vill ha (rader*kolumner). Jag har använt pictureclip för dela upp dom i imageboxar. Det har blivit kvadrater eller rektanglar men nu skulle jag vilja ha "hanar" och "honor" på bitarna.
Så jag tänkte att man kanske kunde använda paintpicture istället för pictureclip för att göra så att bitarna överlappade varandra och efter det ta bort en del på varje bit så att bitarna blir mer "pussel lika" (med hane och hona).
Jag kan säkert fixa till så dom överlappar varandra men att skära ut delar ur bilderna har jag ingen aning om hur man gör. Dom delar man skär ut ska också vara genomskinliga.
Någon som kan ge tips eller skicka ett förslag till herman@owns.it (zippa det) skulle uppskattas.
Ge gärna tips på länkar där jag kan läsa mer.Sv: Avancerad bildbehandling
http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?optSort=Alphabetical&lngWId=1&B1=Quick+Search&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&txtCriteria=PuzzleSv: Avancerad bildbehandling
Jag har skrivit ungefär så här.
frmPussel.picFixaBit.AutoRedraw = True
frmPussel.picFixaBit.ClipControls = False
frmPussel.picFixaBit.Width = (Screen.Width - 1200) / intAntalRader
frmPussel.picFixaBit.Height = (Screen.Height) / intAntalCol
frmPussel.picFixaBit.ScaleMode = 3
'Här skapas regionen för en pusselbit som sparas i den globala variablen rgnPusselBit
Call fixaRegionsBitar(frmPussel.picFixaBit.ScaleWidth, frmPussel.picFixaBit.ScaleHeight)
'----här ska en paintpicture finnas för att lägga på pusselmotivet---
SetWindowRgn frmPussel.picFixaBit.hWnd, rgnPusselBit, True
ReleaseDC frmPussel.picFixaBit.hWnd, lngHDC
'Den här raden funkar inte som jag vill
'frmPussel.imgPussel(0).Picture = frmPussel.picFixaBit.Picture
Det funkar bra att få till pusselbitformen på en picturebox men jag vill använda imageboxar för pusselbitarna, för att dom är mindre resurskrävande. Jag försöker att göra pusselbiten i en picturebox (för imageboxen har ingen .hwnd property) och sedan skicka över den till imageboxen men den planen har jag inte fått att funka. Så jag undrar om det finns något sätt att få pusselbitregionen(formen) till imageboxen?
En annan sak jag funderar över är varför det inte funkar med globla variabel för regioner? Alltså om jag vill ladda flera pictureboxar med pusselregionen så måste jag köra "fixaRegionsBitar" funktionen för varje picturebox.