Wie Regionen eines JPGs als Klickfläche realisieren?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Captn. Jinguji
Beiträge: 397
Registriert: 07.06.2005 19:47
Computerausstattung: PB 4.73x64, i7, WIN 10x64, ATI NVidia RTX 2070
Wohnort: Witten

Wie Regionen eines JPGs als Klickfläche realisieren?

Beitrag von Captn. Jinguji »

Ich möchte mir eine private Bilder-DB anlegen( wollte ich immer schon, aber mit 4.40 sind ja nun insbesondere auch Blobs implementiert),
wobei ich bei Bildern wahlfrei bestimmte - insbesondere : unregelmäßige - Teil-Flächen "sensibilisieren" möchte.
Beispiel:
Bild mit mehreren Personen, wenn man über einem der Köpfe mit der Maus steht, soll z.B. ein Popup oder Tooltip anzeigbar sein,
"Das ist der Heinz", steht der Mauszeiger auf dem Kopf seiner Frau, soll der Tooltip aufpoppen "Das ist die Geli (nach dem 4. Glas Temperanillo)" usw.
(ok, das mit dem Temperanillo muss das Programm jetzt nicht selbst herausfinden)
Mir fällt so gar nicht ein, wie man das machen könnte. Klar, man könnte in definierten Rechtecken die Position abfragen und dann mit fragwürdiger ) Exaktheit den Tooltip lostreten.
Schöner wäre eben, das Bild solarisieren zu können und dann bestimmte unregelmässige Flächen zu markiern, die als "Schalter" funktionieren könnten.
Aber wie ?
Ist das Kunst hier, oder kann das weg ?
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Ein Umweg wäre, die aus HTML bekannte "Image Maps" zu verwenden. In HTML kann man eckige, runde und polygone (vieleckige) Bereiche eines Bildes deklarieren und auch, zu welcher Seite man bei einem Klick weitergeleitet werden soll.

Dies kannst du mit einem Callback abfangen, sodass sich das WebGadget() mit der darin enthaltenen HTML-Seite und dem Bild nicht ändert. Da dem Callback allerdings die vermeintliche Ziel-URL übergeben wird, kannst du so leicht feststellen, welcher Teil eines Bildes angeklickt wurde.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Normal muss das mit den API-Funktionen (Regions Funktionen wie z.B. CreatePolygonRgn) gehen.
Wenn man in Google danach sucht findet man sogar in Verbindung mit Button einige Tips zu Region. Leider habe ich das noch nicht ausprobieren können, aber hier im englischen Forum bin ich teilweise fündig geworden was helfen könnte.

http://www.purebasic.fr/english/viewtop ... awn+button

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Das hat mich jetzt auch interessiert und ich hab mal was gebastelt:

Code: Alles auswählen

UseJPEGImageDecoder()

Structure _MYREGIONS_
	Reg.i
	Text.s
EndStructure

Procedure main()
	Protected S, C, i, j, F
	
	Dim A.POINT(200)
	Dim Regions._MYREGIONS_(20)

	CatchImage(0, ?Pic)
	OpenWindow(0, 0, 0, ImageWidth(0), ImageHeight(0) + 24, "Pic-Test", $C80001)
	CreateStatusBar(0, WindowID(0))
	ImageGadget(0, 0, 0, ImageWidth(0), ImageHeight(0), ImageID(0))


	S = ?RegionData
	C = 0
	While S < ?RegionDataEnd
		j = PeekI(S)
		S + 4
		For i = 0 To j - 1
			A(i)\x = PeekL(S)
			A(i)\y = PeekL(S + 4)
			S + 8
		Next i
		Regions(C)\Reg  = CreatePolygonRgn_(@A(), j, #ALTERNATE)
		Regions(C)\Text = PeekS(S)
		S + StringByteLength(Regions(C)\Text) + 1
		C + 1
	Wend

	Repeat
		Select WaitWindowEvent()
			Case #PB_Event_CloseWindow
				Break

			Case #WM_MOUSEMOVE
				F = 0
				If C > 0
					For j = 0 To C - 1
						If PtInRegion_(Regions(j)\Reg, WindowMouseX(0), WindowMouseY(0))
							StatusBarText(0, 0, Regions(j)\Text)
							F = 1
							Break
						EndIf
					Next j
				EndIf
				If Not F
					StatusBarText(0, 0, "")
				EndIf
		EndSelect
	ForEver
	
	For i = 0 To C - 1
		DeleteObject_(Regions(i)\Reg)
	Next i

EndProcedure

main()

End

DataSection
	Pic:
	Data.l $E0FFD8FF, $464A1000, $01004649, $60000101, $00006000, $4300DBFF, $06060800, $08050607
	Data.l $09070707, $0C0A0809, $0B0C0D14, $12190C0B, $1D140F13, $1D1E1F1A, $201C1C1A, $20272E24
	Data.l $1C232C22, $2937281C, $3431302C, $271F3434, $32383D39, $34332E3C, $00DBFF32, $09090143
	Data.l $0C0B0C09, $180D0D18, $211C2132, $32323232, $32323232, $32323232, $32323232, $32323232
	Data.l $32323232, $32323232, $32323232, $32323232, $32323232, $32323232, $32323232, $C0FF3232
	Data.l $00081100, $03A500A7, $02002201, $11030111, $00C4FF01, $0100001F, $01010105, $00010101
	Data.l $00000000, $01000000, $05040302, $09080706, $C4FF0B0A, $0010B500, $03030102, $05030402
	Data.l $00040405, $017D0100, $04000302, $21120511, $13064131, $22076151, $81321471, $2308A191
	Data.l $15C1B142, $24F0D152, $82726233, $17160A09, $251A1918, $29282726, $3635342A, $3A393837
	Data.l $46454443, $4A494847, $56555453, $5A595857, $66656463, $6A696867, $76757473, $7A797877
	Data.l $86858483, $8A898887, $95949392, $99989796, $A4A3A29A, $A8A7A6A5, $B3B2AAA9, $B7B6B5B4
	Data.l $C2BAB9B8, $C6C5C4C3, $CAC9C8C7, $D5D4D3D2, $D9D8D7D6, $E3E2E1DA, $E7E6E5E4, $F1EAE9E8
	Data.l $F5F4F3F2, $F9F8F7F6, $00C4FFFA, $0300011F, $01010101, $01010101, $00000001, $01000000
	Data.l $05040302, $09080706, $C4FF0B0A, $0011B500, $04020102, $07040304, $00040405, $00770201
	Data.l $11030201, $31210504, $51411206, $13716107, $08813222, $A1914214, $2309C1B1, $15F05233
	Data.l $0AD17262, $E1342416, $1817F125, $27261A19, $352A2928, $39383736, $4544433A, $49484746
	Data.l $5554534A, $59585756, $6564635A, $69686766, $7574736A, $79787776, $8483827A, $88878685
	Data.l $93928A89, $97969594, $A29A9998, $A6A5A4A3, $AAA9A8A7, $B5B4B3B2, $B9B8B7B6, $C4C3C2BA
	Data.l $C8C7C6C5, $D3D2CAC9, $D7D6D5D4, $E2DAD9D8, $E6E5E4E3, $EAE9E8E7, $F5F4F3F2, $F9F8F7F6
	Data.l $00DAFFFA, $0001030C, $11031102, $F7003F00, $283D30EA, $510C80A2, $02A0288A, $02A0288A
	Data.l $02A0288A, $04A0288A, $C73A9234, $2A207619, $004E928C, $F3BCA614, $578ABFE2, $B6D4F045
	Data.l $99FE4910, $1E543074, $E3CF7D44, $27A5F3D3, $1EA37265, $F19D6367, $DB2BC42F, $D35446CD
	Data.l $82AD4DEE, $E2BEB112, $2EFEB80C, $4560C539, $DE5EBDE3, $92EA2AE0, $991B0F12, $35993F80
	Data.l $EAB076E7, $58E2AC5A, $00D97DE4, $57FAF41C, $09172457, $A96B4BA5, $51DAAF5B, $41A7C87C
	Data.l $C7F55EC9, $EEACAE25, $B11EDB86, $09896FE1, $3A967077, $C7BCADCA, $56389B84, $6BFCF6FA
	Data.l $288315D1, $451E0423, $EC15957C, $6E2DCCB6, $639E319B, $D033CE71, $F46A6F8F, $FA78068F
	Data.l $2C9948F3, $59D33235, $ED9C0F74, $00FFA01E, $71D5B84A, $A25346D2, $6F0FACA5, $B8B7A1A2
	Data.l $9A14E68A, $D48D5717, $829CB232, $39EA6A2A, $A0288A02, $A0288A02, $C28A9306, $064F7CD6
	Data.l $70967097, $847AD746, $1B6F2B83, $C4EA8101, $49EBA3F0, $1000FFE2, $53E80E0F, $700DA85D
	Data.l $0F81CBC7, $00FF39F1, $BAE5B50E, $C49A95AD, $F606B7F6, $13635FE3, $AD0A97CB, $0770902B
	Data.l $7B1C60F1, $AD94A876, $1E0C3DA2, $A7F7550D, $B2EB4FB7, $1B6F1B3B, $BAF8B06B, $B4D546D3
	Data.l $041720B8, $CC722300, $7A0ECE01, $03DF951E, $2A7DF39A, $EF592B7B, $CCAF57BC, $B56E00FF
	Data.l $84DADC22, $0374D4E6, $AF07C91D, $4F6E6B4E, $DD91E91F, $C2191A88, $3CB54F8B, $71B50184
	Data.l $3CF50890, $DB45747E, $074D3C76, $0D632F39, $FEDAB696, $6AA94747, $9B4D9A96, $B04EDFDD
	Data.l $B900A1DB, $9A4A4FEC, $BB3BE6DA, $6D21EE68, $D0A14AD1, $A50719E3, $F5882F79, $36C5539D
	Data.l $D6943DFA, $EADBDBD0, $8DE11B37, $0E289758, $C9DD6E01, $3B5EB7AB, $AFEC2DD5, $653BC256
	Data.l $B2C52B8E, $9664CCB3, $9E273903, $8FCE0F7A, $EC3FAE68, $DF2A8EDA, $8600FF13, $F53E4B3D
	Data.l $158FE285, $D65AF85A, $66B88B1B, $15FB4A94, $647AC663, $EDF39A93, $28BEC553, $44ADC95B
	Data.l $856956C1, $6B0C2FAC, $2A6E8C8C, $6C6FCFDD, $AB73A59A, $DBAB6F4D, $84DA9769, $C60C698F
	Data.l $04599279, $3DE2C0CD, $8E24C1D8, $A438A183, $595A23EA, $F59CAE5C, $F6D8E95B, $D64A7D1B
	Data.l $CC11CAE7, $488CE59B, $F61B96B1, $ADE39C91, $FA6BAA41, $FFE48B6E, $2C5D6800, $8F6C731E
	Data.l $BCC6FB70, $73473C5D, $6BDCAC6F, $7DCF8C76, $70ABBC3D, $DFE33F85, $803D2E9C, $674953DB
	Data.l $5784E52D, $D7CC5C13, $C5CE6E0D, $0F9212E7, $0839EC2E, $123A70A0, $7D6B2F4D, $5CD95F91
	Data.l $C9CA39AD, $87B867FE, $9083A0DC, $1FCF577A, $311EC81B, $00FFB900, $3DCA1F51, $1F3ED72B
	Data.l $AD867AEA, $A875E3E1, $2913924E, $B8508048, $79B5E355, $3C3DC68F, $BF6389A7, $6FCA94DB
	Data.l $1AA05DF7, $67B29273, $D5E9A203, $BDE81E94, $4F279DE0, $D561743A, $458E3A58, $F2CEF867
	Data.l $0244CADA, $6448DE68, $F3392222, $07A6C3B1, $E64CAFD7, $C4172DB9, $B2245AF7, $72F9B169
	Data.l $192BA418, $8E0A9090, $6DF58A9C, $D445CB2A, $9975ADAD, $A8242B21, $0A79420B, $82F8F3E0
	Data.l $2E5CE74F, $8EBC320E, $682565CE, $0771319E, $59A19298, $DD11CF3E, $8D978113, $B823384F
	Data.l $CEBFF414, $29ABB3C0, $8E0C9018, $5F5D713D, $EC69F48A, $CDBB5BF5, $99B7603F, $809FE84E
	Data.l $F51EE778, $1FC4B5C5, $0C00E5E8, $7F6EACF1, $35E3C0BA, $63346DB4, $5ECFC825, $58E359F8
	Data.l $C393246D, $C6D2A5FA, $EE6ADD49, $B9EA3978, $D82BEAF7, $7CBDE7D4, $0DAD147D, $F913CBDC
	Data.l $58011FA5, $EFEDF17D, $FBF0D75E, $D6A455E2, $F76AA6C9, $F2A9541E, $1CA72CC5, $FD89757F
	Data.l $72096B0D, $0A63AF7B, $24AFF994, $C814C57A, $596349A5, $61746523, $0872CA90, $30E7D6A7
	Data.l $01144551, $EE157FE5, $455F1DDE, $1E434B05, $90D8DB66, $AACA8FC3, $B5C63A6A, $5B7DD5E2
	Data.l $6D78B04B, $18ADD2F4, $C9D2DC55, $19387E9C, $5733BDE2, $6EFDF4D0, $ACFD1D01, $933B8473
	Data.l $F8537E7E, $D7F55C73, $6D99B584, $88A7B585, $8CB28545, $BEB61624, $90E9815A, $12CA5873
	Data.l $187BECBB, $4A15657C, $8FD26A11, $929FB557, $8DEC7F38, $75D25967, $6DF9FB3B, $9EBC27ED
	Data.l $27752936, $3C571D92, $450E7A80, $9A067747, $BF24AF2F, $DB9625F1, $123996A8, $979116D6
	Data.l $6CAFC218, $DBAD3970, $1337853F, $CE9A345E, $3C8F66AA, $FF2C5979, $2BDD5200, $213CD3B6
	Data.l $BF0A69A1, $DEA1D365, $8BA4E53F, $4933BFBD, $D1D1BD41, $1F461F57, $ACE8AF0C, $FB5DDD96
	Data.l $DAD23C76, $ECF9D2DE, $0EF1259E, $ECA235A5, $C4EDED89, $0074B42B, $D25C1FF5, $DAD9A74F
	Data.l $F05FD6B4, $4A09DC8D, $9B0BA0FD, $38234CD0, $9F60A4E8, $327B4DAE, $810303A8, $EFCD2BE8
	Data.l $5FAE35BC, $2FD41AEB, $5EF06E63, $7947B2CC, $55CB6733, $D70B2804, $DCAABD3D, $1B47632C
	Data.l $647727CF, $45FEFCBC, $E3C62A2D, $6C45B2C4, $A3716F8B, $7FB402C1, $58CB8769, $4A513DA5
	Data.l $AF034910, $B499BA26, $01AB7488, $10693A79, $751963C3, $502CB474, $B925B80E, $0B9FCE35
	Data.l $B5A09D78, $5BAC0561, $681B3267, $9091DAA5, $277E439B, $F89B2A92, $D972C42B, $A32D690B
	Data.l $23DD1691, $703FD740, $7A9CCB86, $74D5689E, $4B2AD41C, $C72E89F8, $76E8A763, $DD3D5BD3
	Data.l $2D9196BC, $169306FA, $E7860B4A, $55E94F90, $DDF4B1BF, $1E9D6E17, $2F6A6FA9, $6D294FC9
	Data.l $C7BEF910, $AEF71CAF, $BAC0E77E, $B237E4DD, $59BA2192, $BB3C481A, $00C1B583, $07C0F605
	Data.l $F8725A9F, $D4655527, $89E0EC19, $6CDB2B98, $AB529698, $E7F68080, $46F17B92, $29B98CBD
	Data.l $D3CF00FF, $5A1B3E65, $2B17EC25, $E447DCA8, $469070B8, $E760ABB1, $8A2F559C, $B1BE313A
	Data.l $2B8F40FB, $F47695E5, $FEF9633C, $5278D495, $D1B153C7, $97548BE1, $4281AA74, $A947DE6F
	Data.l $5A93DC2D, $EA82AD1A, $CEB67C3A, $CF38CE07, $F4FAA14F, $8DE670A2, $F33AC791, $AFF49EF6
	Data.l $51FDE363, $69508324, $1CF25546, $D6F51E7B, $15E27F78, $5B309CE5, $D8481893, $61948DB0
	Data.l $7FCFF798, $8C67565C, $59CB1AAC, $7760B4BA, $D473E4C2, $2BFD7180, $ABF0489E, $10DC3DB6
	Data.l $146AEA73, $4AA9A354, $F5D0324E, $8F3BED7F, $B1F6C212, $C8D23493, $55817249, $1F008E57
	Data.l $7FEAA9CE, $CDD6D20C, $FADB3D5E, $7FBA9A9F, $5A4A7A86, $8BBC5169, $93E47699, $A39E5DEF
	Data.l $5A11CB12, $DC2DBFE3, $5929EB4E, $CF3A1F49, $246349A4, $65D676FE, $BFD9B11B, $7B8BC61E
	Data.l $245C88EB, $7553244D, $FAE1BE4C, $6DE279D7, $23729A11, $B950965F, $9C76C619, $E71AF991
	Data.l $661D0D35, $D8CB1349, $797900FF, $AC7135CF, $A58CA4A5, $7A62AD45, $128FC2D7, $F769AC49
	Data.l $66E5B316, $3D65EE88, $B1C7468F, $E935FE3C, $F77CAD03, $3A56B7F0, $A02D8A67, $A1FDF69D
	Data.l $EAC9361A, $00FFC041, $20F4D53E, $4B4FBAAE, $A595151C, $8AA26871, $9C2AC4D4, $128CA5BA
	Data.l $44DD72B4, $2D15BC8E, $A587ABC8, $B1EC5773, $8D56BA7D, $06B0895C, $50204906, $B4D5C006
	Data.l $1FF2D2F3, $359EEAFB, $75E9262B, $8100FF11, $6D750D57, $6964A3AA, $EF471E9C, $4D4B5705
	Data.l $9EC6435A, $8ADAFE17, $A5AE2897, $E8B14BF2, $C6B56D9F, $FD1FD17E, $953A4CF5, $88BAF592
	Data.l $89ABC07F, $4354C78E, $FB9F6193, $49EC2A68, $9C749D7E, $41DB00FF, $950B994F, $74D6299D
	Data.l $087BEBD5, $508100FF, $F4349D35, $FAFE87BD, $A87111AC, $5640D347, $8BB600FF, $6A3215FE
	Data.l $E1EB801A, $BF00FFC5, $5D14FE8B, $86362B07, $F2DF60AB, $69FC11F7, $7F2CB57F, $CE3FEAE7
	Data.l $7CA306B2, $1F20687A, $29FCD7F7, $64F8FAE2, $67D087B6, $51F8AFEF, $8DD5C07E, $1AACD525
	Data.l $C35D8854, $ABDA39E6, $2A7D92BB, $FDB8E2D9, $B60BF662, $46F1F4F0, $C75FE6A9, $D51E39C6
	Data.l $8869F0D8, $B6C6E7F9, $4DE2792B, $7F23196A, $3E9D47ED, $F35318CD, $6F17F347, $CE5C01C0
	Data.l $C9B3A49D, $4D6E366E, $AD07B6E0, $5DC4DF7A, $7E8D5B12, $78264E3D, $ECAEB5CD, $248FF7C5
	Data.l $7365F813, $FA724DEC, $A13E8315, $8338ECE4, $6F8CDFE5, $83EBEF39, $15577B9C, $1D5D3849
	Data.l $D1CE63F4, $C216E8DD, $3170C1D6, $7B75D54D, $3CAB227B, $D1363781, $CE57539F, $1E3C4BDB
	Data.l $BA8A2B30, $7AC497B3, $3601CC9B, $7B80ADD6, $ABFCF733, $762CBD95, $CBCDAD25, $6DEF788B
	Data.l $4F0565FE, $3A6ACD35, $ED588D58, $B59E8E2D, $955BDAD9, $41C754B6, $DAA9A78A, $56E0848D
	Data.l $3CB7665E, $5B8E5573, $A41B521D, $CA1D1C72, $B507B157, $5EA2397D, $B145431D, $34BD6FBB
	Data.l $D783E408, $CBF91A20, $C44408C5, $CF632185, $D2277524, $BDE1AFBD, $85F0BFCC, $1B4FD1E9
	Data.l $9898B083, $9C4CA90C, $7A848E0C, $4BA8F41A, $46C5CB43, $14951DDB, $10475D51, $8FA93957
	Data.l $C711EC96, $AEF20F9A, $28F5B18E, $E3F88281, $06FA1E91, $5EC72B8E, $E6F0BA33, $146F6DB1
	Data.l $900CCD31, $A06E6586, $B3C51AFB, $486AA1F8, $D1AC45FB, $AA3B957A, $2DB4C59F, $23B7E9A9
	Data.l $02B03DEE, $AFF0EFBC, $9FC97A3A, $B8E59679, $4A38F86A, $6A8F564B, $A293F8B6, $876B3E48
	Data.l $B496F74F, $01FAC753, $7F943A19, $7425788D, $85F0119E, $D82E8ACF, $A26CF286, $8E98BD3F
	Data.l $88DEC39E, $31C85EB9, $8C0A3659, $69924A1D, $DF34DA23, $12EB5812, $C7757A34, $32EFB39D
	Data.l $5AE3078E, $B50DE261, $00FFDCA5, $E5CF0DDD, $751AAC5C, $A7CD69C3, $D3A26578, $6BE5536C
	Data.l $29CF4DD6, $EC7FB4EF, $F657E5D5, $E287C63A, $ADB100FF, $AC5FB2DC, $C76012AA, $AEA16732
	Data.l $7B2FEE87, $F8B0E753, $3527E338, $57366A46, $3DF3EF49, $ADF1FADE, $DA9EE7EC, $85C4F232
	Data.l $70C649D5, $E10B573A, $9FBA88CF, $6F4FBC88, $0B8A6064, $2F5C0C56, $7A0F702C, $C39B35EA
	Data.l $EE7678A6, $56ACE7F2, $3B3E00FF, $66FE18B1, $D8E19FBC, $728FC423, $4850044E, $AB52F9ED
	Data.l $5E24C9EE, $4C85875D, $23957A35, $F3A3557E, $512FDD3A, $1D7ED737, $7B718E85, $D7047EB8
	Data.l $26DFDFA8, $65656E9F, $A2C2492C, $5EE963F5, $E7D3E035, $8040B7F8, $9764150E, $D649AFF2
	Data.l $B0C608B5, $523E8F2D, $FFAD7E82, $AAADD600, $3C3792CF, $A4FD545A, $AFF860EC, $2CAED454
	Data.l $2128E204, $23F43630, $27A88725, $2AC63DB8, $39D6021D, $6DF59225, $8C9585BC, $1372569E
	Data.l $B33D903C, $5655879A, $2B04D4BD, $0C898823, $93F283F1, $645E5BEF, $3C711A56, $F35A2F0C
	Data.l $A7DE3627, $82711AAB, $28BE18D1, $966CCCD5, $891BE476, $430F629B, $56D65BEB, $1FFEE850
	Data.l $948F118A, $4FEE8965, $EE5D5C53, $E42D7195, $268F9277, $64F836E0, $FFE07672, $DE8E0B00
	Data.l $14BFDBCD, $D45A7FFD, $8D05F1B4, $CC0B2FEC, $213893A5, $71047794, $6EE89E45, $AC73A5CD
	Data.l $7249B9B3, $D45B4A47, $AC784412, $3CF00A2D, $2BCE936B, $1F32D875, $6DA1CB4A, $ED9A706A
	Data.l $64B932AA, $D86B0004, $2D783B74, $6F416BF4, $421BC71A, $0746158C, $1DF31A20, $B851206E
	Data.l $9DF046AF, $2DBCDACF, $40DCC9A6, $F2AB7EA8, $EC4A00FF, $395A3DC1, $CD44EB31, $BDA228AA
	Data.l $A70ACC03, $59921071, $C4128F11, $75FEFC57, $1D5DAB72, $839D0C8F, $F1009A60, $2E4C89AF
	Data.l $611A4D34, $DF4237D5, $00FFE055, $B56EF32A, $6D107FE9, $DB4B1BDA, $2FEECF36, $FEF8F83C
	Data.l $B5FEE417, $1ABF9DE6, $3669EAF3, $7EF8D18F, $AE18584A, $1A692FD7, $A9CEFA5C, $2EDBA76F
	Data.l $CFC09964, $5E7347F7, $471DE2B3, $870FF04F, $404BF4AC, $F3814BE2, $5FB10CB2, $E8A96FE2
	Data.l $8DC2972A, $9BB02115, $7D7F9559, $24A19833, $FED45174, $961A0C35, $54FCAE99, $E2414D9E
	Data.l $F2232D68, $365256AD, $F7F729B3, $CB056DCD, $E4D9AD1B, $AD9F58E6, $A64DA5E2, $B44DD3E9
	Data.l $C34FB3BA, $B5D5321E, $290B664D, $A66B3174, $D589EDB2, $4C072848, $9D465693, $F58B176F
	Data.l $26EB142F, $714B7B3B, $A7F95AE5, $C756C719, $B6D46A7F, $EFD6648E, $135D9F2F, $2C2C04DB
	Data.l $718918D3, $D8C815DF, $F14F97F8, $EBA3CBFB, $BB322216, $D848DE9E, $C7F5EFF6, $4B4BA735
	Data.l $AF8E877E, $23744A29, $2BAD04CB, $6CFD646B, $F1387E73, $419278BB, $2DBE6369, $86DD3636
	Data.l $536FA6E1, $BF2AE8ED, $DF86C183, $C419BC59, $7ABC8C76, $5C172B9E, $D646DBD2, $B7192C6E
	Data.l $7FE59B88, $1AE429EF, $BC28B4E9, $C738089F, $DBA72FEF, $1C0000FF, $CE5CE59F, $7DAEA8F3
	Data.l $C250312E, $7E344E65, $9BFBBE16, $1EED0C5F, $7C82C6E3, $6476967C, $FD712C7E, $34F1A12B
	Data.l $75BB16EB, $A98DE438, $5381DC81, $58B034FC, $E20BB52D, $40047939, $E21F85FA, $DB790A6B
	Data.l $281BF156, $76214139, $D38AD7C7, $8FD4FD18, $DF47C18F, $B7D0C86F, $34019289, $728CF787
	Data.l $BF7DA9C6, $865B53FB, $46B93FC7, $1DB8270D, $72BDE6AA, $ED9C7E9A, $AF78619C, $B7D6F038
	Data.l $4BD2EB22, $C6E37D23, $308A2B7D, $327A366D, $B847BA92, $7BC7DA5E, $4006066E, $F13BAFC0
	Data.l $257F9776, $DB46B2BD, $C698D1D2, $EA06D48D, $71E0F401, $7A9FDE5D, $1EA440B3, $6B7D9DA2
	Data.l $2367CC1D, $8ABF3BAD, $AF3C0A26, $E8984796, $3000FF77, $82C39051, $D835A8A7, $3CBE7345
	Data.l $73ADB966, $E4CE9245, $0E295BDE, $F8A3CE0F, $FAD4F8C7, $0A9DEF75, $19AB3DB0, $948EEA59
	Data.l $1858D559, $FCD535DB, $E812BB36, $FCC41657, $F90DF7D6, $5A7F0430, $BA586FE3, $873FADF7
	Data.l $C4D7A297, $704C3617, $5C6E51B7, $7F7900FF, $55FEC4FA, $B35C12BE, $E691F139, $54EAA1A5
	Data.l $D52B0A52, $A885F1D4, $85CC8FA7, $FA38BE97, $0353B4D4, $677F3CCF, $5E72FA1C, $335E8232
	Data.l $8A7A7D0B, $5C42C5F0, $5F717227, $6CDAEA4C, $5657D677, $6F180E32, $BEC69E8C, $FBB6BA76
	Data.l $B7E48827, $F8A46094, $C9B57E60, $3797165E, $6B38EC73, $45279414, $ED1ED5F4, $9BA6DAA7
	Data.l $486BFBE1, $6E9BFB71, $7CCDB83E, $3D492AFD, $69A9A2F3, $8E02525E, $5FAF89A5, $5E5CF1B3
	Data.l $05F24463, $D5003874, $0BB4D417, $B400FF0B, $2D5B58DA, $C57CB6F3, $E39E9C5C, $49A9B5D2
	Data.l $661E2BCD, $07C79A5B, $6E9CB33A, $1E686AE4, $F0438F19, $38F2E9DB, $1BDCAB5B, $F79F07A6
	Data.l $D2C00A7F, $873639BC, $536ADEAF, $305F8498, $C8D908B6, $2AB0DD3E, $624CF83F, $941FF1B9
	Data.l $218184F3, $7E42D268, $FEEB2153, $AC9AB714, $73491B69, $7E0FA23A, $639CC2BE, $AD32F207
	Data.l $C9451957, $76157F49, $1B00FF39, $B51AB748, $C25CCEAE, $9E73C701, $8D48762B, $A895A59D
	Data.l $108EBC1F, $B400FF02, $EAE8CFD5, $7D15EF35, $D62264B2, $6E30DE1F, $5D715481, $FC918367
	Data.l $BC47E353, $463B9B2B, $F771ECDF, $73496745, $F33A7254, $12968E6A, $95EE118E, $6D7AE8D9
	Data.l $183CD0A8, $D2B54356, $9F90E5DD, $E29A11EF, $E26A257C, $1866EFD9, $B0E73969, $DAC78BAE
	Data.l $68DABA83, $E89A1F90, $DC1F9BEF, $9FF88107, $8C5A59E5, $87B14FC3, $B8C1B54E, $76006D90
	Data.l $2A8E35F5, $8FDDCA49, $A316093B, $BCE5DCCD, $0B757C57, $EE0F8D86, $EDDEFB21, $96645CE9
	Data.l $CA325BB3, $AE39C88B, $92D359D3, $06D88E04, $3F8EAC23, $6F59E3AF, $05ACDCA5, $3B397FA0
	Data.l $8D1F75A3, $1DD90961, $237F8272, $B5B6F0A4, $6E5604BE, $D176BDA3, $394E07DC, $EED31AAF
	Data.l $C6DE95CD, $56793205, $167A0DEA, $456EA997, $BD4CCD19, $BC5CA1D7, $B7BCD9C8, $8E20844B
	Data.l $DB9A886B, $23522FFB, $E3568A18, $60EE1AD0, $4B0A3B94, $F9DE2ADD, $EB19753E, $A0FA964B
	Data.l $C38C2EBF, $B6655E36, $79AE76EC, $D54797E6, $FBE2EFED, $C707F2D6, $113FEEA8, $D81EEF9A
	Data.l $41CF0647, $17BB7E5C, $DE888A24, $69D2E32E, $AE6DD8A3, $8AB5B922, $140D17E2, $D41B1DA8
	Data.l $72459111, $DAAE0EDF, $1B89C2F3, $5E699B9C, $A34E9F11, $D45ED1F9, $F04C711A, $34591E67
	Data.l $4551F475, $550D2551, $7CDE1624, $CE453223, $E20EEFDF, $05E22BBC, $0D5E528C, $38A9DB6A
	Data.l $AFF34795, $BCD2CFA0, $4C1AC77F, $24A93EDA, $2EFD1EAF, $953DB8ED, $00FF558F, $99C7990A
	Data.l $62C2E958, $1AAD8665, $FB79E8B1, $05DF5B5E, $138C699A, $72216EE0, $B8EA1D1B, $168710BE
	Data.l $8FDB99E1, $EC81FA39, $3D75533B, $80D9B439, $5ED65E52, $FBB79361, $FB5451BF, $55966B72
	Data.l $F6299766, $01A33CD8, $0D154B5A, $13DDD653, $881B9712, $C9E996E0, $9BAE18CD, $9F751AC2
	Data.l $ABAB4EDA, $6F0BCB36, $00FF4199, $45D9CF96, $47F4AE62, $4BAD8BAF, $ABD5490F, $BDD0FAD3
	Data.l $F8A00D34, $24362D4E, $D8EAAA2D, $4CE31D67, $FED42BF0, $687CF81C, $7E45185E, $BB8B9D67
	Data.l $72A5AF63, $DE960EBA, $6B13F128, $94400A37, $A457EDFE, $F8338E51, $5DBD02E3, $51896311
	Data.l $C2A82A14, $7C57D881, $1F1BA322, $12B1E298, $5995D6C4, $B82CCFEE, $8F7FFBBE, $E61F2EAF
	Data.l $983C298E, $FCF182FD, $C65952F3, $D420E17F, $731B6E6E, $B26702AE, $2AFDB9E2, $A6A96B76
	Data.l $9065C8E4, $922077E0, $9ADE4A7F, $C6A97571, $FCC5882D, $77647951, $32AF41CE, $D3B3C94D
	Data.l $97622C8F, $63F8D691, $0B6B8E4F, $9588AB8B, $2BE0E3C5, $C08B828C, $FA5973FD, $5D5581AF
	Data.l $1125D2A7, $90B7C993, $7BE8A7FC, $046B6357, $41B1D676, $A146C218, $522AE857, $B1875E33
	Data.l $478B8283, $A6E6ED95, $467816E5, $134FA4BD, $78B3BE14, $1C091D25, $6BE8A11F, $A4D4483F
	Data.l $F716B8B1, $E4E74A0C, $7D8DFC63, $37B43D05, $C453B430, $55DD4692, $0BAE41C6, $610D9FC4
	Data.l $499B46BB, $F2F51361, $E8A7FC1C, $F03C577B, $47352DCD, $93623C6D, $4B65B4F7, $0765E52B
	Data.l $12B5E670, $8A0023F3, $BDB985F3, $960D2FD0, $57C413A7, $FE765880, $3BBADEA3, $431D493D
	Data.l $700F022B, $27DE916B, $D09A7172, $1BB966E9, $AC29D73A, $35562448, $94F225A3, $D4C28AE0
	Data.l $1C08DE24, $7B51E993, $DCB1318E, $9E4230FC, $CD7EBA1F, $00FCD876, $25BCB6A2, $E193BEA5
	Data.l $17795BBB, $B20CCC64, $7F6E460F, $C55E51C0, $8F14B538, $9B93AC06, $5114ED66, $6785195A
	Data.l $B63D7AEB, $A7CFA4BB, $9063AEDD, $76AB7B70, $145AE923, $36840750, $ED75DA94, $A0F585D7
	Data.l $8639B93C, $8E00FF53, $35E39ABA, $44EB266D, $D53B6BBE, $0F72ACE7, $8AFA22BB, $1EC537FA
	Data.l $26F1B51A, $4295609A, $5BF3C7DC, $DFC63ACC, $F15A4F5F, $4DF65EAD, $7CD06439, $47596451
	Data.l $A93AC831, $CA1AF2FE, $E63535A5, $6B56197B, $F5EC0C3C, $A77EDD83, $F7686523, $8851ECB3
	Data.l $D17397D7, $D0367445, $ADFAEBDC, $036195AE, $91F05134, $7647E1A8, $49204A6F, $D2B63735
	Data.l $72262BB4, $BEBE08C7, $AFB0E7AE, $8487F06B, $A729FC2C, $E5FDE298, $8B1BC0E4, $D0E7EA86
	Data.l $45E9017A, $F51A4A3A, $9E35DB0C, $222D693A, $4D7434B6, $4D1F3D26, $B476D98E, $81631E98
	Data.l $2AFCC78D, $1B82C4F5, $113D6569, $35437E0B, $11AFAC29, $E19BAEDF, $AEE842DD, $55B090E2
	Data.l $018CD83D, $BDD19AF9, $B32B210F, $96E774C5, $A00BCB2B, $192E960F, $70301DDB, $34B6D6BF
	Data.l $30B1B875, $F6C88CEC, $308C1633, $20D90DFE, $F523C71E, $9B4E5AAA, $2431D425, $235496A4
	Data.l $2449E838, $ED5DE59F, $755AA4BD, $49066689, $58A65B8E, $6D6A5E93, $4A5E0FBD, $D67526C9
	Data.l $D9DF9037, $66037545, $FEE14639, $DFB96615, $5BDCDA07, $05E7C5E8, $C93CF344, $6305FE19
	Data.l $8DBFFEC0, $4AAF3974, $7976B52D, $A4494933, $14A5072D, $947EF084, $8A2F38C9, $E8F31656
	Data.l $5705F716, $A87009ED, $41903A8C, $85BFFEC8, $A69FDE79, $00FFC5DF, $1EB2E01E, $F1BF6B70
	Data.l $EEF6D74D, $6A9B06AF, $EF7624EB, $1B396DF3, $35CB1FC8, $6EC9F45D, $5BB42875, $99630249
	Data.l $51E05FE5, $56C515D7, $63D3730E, $EEFEC3D5, $73EABD9F, $3EA01E2D, $D8EE6651, $03470AC9
	Data.l $9AE835D7, $ECAD8307, $BF7757CC, $3800B9BD, $FE46E14F, $DFB453A4, $EBA7C70F, $67213117
	Data.l $BB4EC481, $9EDB48CE, $AA2B303F, $3C3CAD15, $C3DCAB23, $D2728913, $0207412F, $D015758A
	Data.l $51148570, $51140540, $F8610540, $5F9AC28F, $9D3C2D8A, $A0CE0D46, $C3A972F9, $CAADF621
	Data.l $C30B0328, $3CD3137E, $B1636C2F, $0F5C9988, $67397736, $C21EF2C7, $26A468B7, $BCD20380
	Data.l $2EE200FF, $A2D90FB1, $4B9D23D3, $832A0F16, $73F73192, $E249D7F8, $20418D1B, $45C0AC58
	Data.l $82CBF373, $1CC71D48, $8770AD8F, $5E4D924E, $4E0C4DD8, $E3ED8EBB, $9C83E38C, $4A7F3272
	Data.l $C29FACC2, $A587D791, $592D3BAF, $9D7EFA44, $323FC204, $8B084079, $BAD293D4, $9BAB3468
	Data.l $964D435D, $6577964B, $873F397F, $2B7D7B3B, $35D2411F, $194FFC18, $DE1E91BB, $27776935
	Data.l $00E876DD, $5ECFB007, $5469BBE6, $3A0E981B, $4A51F967, $8DBD8A9A, $92BCD62B, $A00A8B5D
	Data.l $0A600028, $2D052976, $7305706E, $BBB627DE, $60388ABB, $324144CB, $BDBB6D20, $AEF8FC39
	Data.l $5A6AA986, $0B9C1A64, $ABD4C51C, $C1465607, $EA6A5204, $2C97D3C5, $D2043993, $8D48B067
	Data.l $63CD23AC, $3C50B0F3, $CD117AB0, $4863786D, $2EEE186B, $D43D186E, $FC1177EE, $7F147020
	Data.l $FE837A8F, $8C855B11, $BEACBA44, $B9515658, $877E704E, $D3DF6AB7, $C6C296EC, $7177642B
	Data.l $39F7C618, $35493D66, $BD298710, $B2D1FC5A, $ED028063, $8F76068E, $848A53E7, $EEF1E25B
	Data.l $6408E93C, $3692E509, $E3C8138C, $2AFD3939, $6EE6D07A, $501445E1, $288AA220, $288AA200
	Data.l $288AA200, $8A22A400, $A7960228, $9EF6F760, $5B327754, $C93218C8, $5F1FC918, $4B97C16A
	Data.l $6F5E24F1, $850C7793, $8481B7F1, $A228E8E7, $C6658A93, $8DACA2A4, $FAC20E1D, $356E2E09
	Data.l $429E5627, $DC4F1515, $AED3DB41, $2768466B, $E778E179, $9918D158, $781BC610, $A2F64CC7
	Data.l $A414768A, $812CBBDB, $14454B81, $45511412, $45511400, $45511400, $45511400, $D9FF7F00
	Data.l $036D036E
	RegionData:
	Data.l $08
	Data.l $0F, $3E, $10, $56, $1A, $6F, $2F, $89, $3B, $7C, $47, $67, $4D, $53, $4E, $40
	Data.s "Logo of BudVar"
	Data.l $09
	Data.l $60, $15, $62, $1B, $68, $20, $6F, $26, $73, $26, $78, $1F, $6E, $10, $68, $0D, $64, $0D
	Data.s "Nice face"
	Data.l $05
	Data.l $73, $48, $7A, $4D, $7E, $47, $7F, $3B, $7D, $39
	Data.s "Wanna play with them?"
	Data.l $0D
	Data.l $44, $A2, $51, $A4, $53, $9D, $57, $94, $5A, $91, $5B, $A3, $5E, $A4, $5F, $91, $62, $8B
	Data.l $62, $87, $51, $98, $4B, $96, $46, $9A
	Data.s "Amazing high heels..."
	Data.l $04
	Data.l $7F, $77, $88, $80, $8C, $7F, $84, $77
	Data.s "What may be hidden here?"
	RegionDataEnd:
EndDataSection
Benutzeravatar
Captn. Jinguji
Beiträge: 397
Registriert: 07.06.2005 19:47
Computerausstattung: PB 4.73x64, i7, WIN 10x64, ATI NVidia RTX 2070
Wohnort: Witten

Beitrag von Captn. Jinguji »

Super, DICKES DANKESCHÖN an Euch Drei.

Die ImageMaps waren das, was ich auch vage im Hinterkopf hatte, da ich aber nicht der WebProgger bin, fehlte mir der schlicht der Terminus zum Suchen, und ich wollte jetzt auch nicht alle möglichen (Web-)Scriptsprachen auf gut Glück abklappern.

Den Link von Falko werde ich mir auch noch anschauen

Die Lösung von HeXORist natürlich das "Bequemsteste"!

Danke nochmal
CJ
Ist das Kunst hier, oder kann das weg ?
Benutzeravatar
HeX0R
Beiträge: 3042
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3
Kontaktdaten:

Beitrag von HeX0R »

Die Regionen habe ich im übrigen einfach so zusammengeklickt (das Pic ist das selbe wie oben nur diesmal des Boardes zuliebe verlinkt):

Code: Alles auswählen

Structure _MYREGIONS_
	Reg.i
	Text.s
EndStructure

UseJPEGImageDecoder()

CreateFile(0, GetTemporaryDirectory() + "Data.dat")
CloseFile(0)

CatchImage(0, ?Pic)
OpenWindow(0, 0, 0, ImageWidth(0), ImageHeight(0) + 24, "Pic-Test", $C80000)
CreateStatusBar(0, WindowID(0))
ImageGadget(0, 0, 0, ImageWidth(0), ImageHeight(0), ImageID(0))
Dim A.POINT(200)
Dim Regions._MYREGIONS_(20)

C = 0
I = 0
Repeat
	Select WaitWindowEvent()
		Case #PB_Event_CloseWindow
			Break
		Case #PB_Event_Gadget
			Select EventGadget()
				Case 0
					If EventType() = #PB_EventType_LeftClick
						A(C)\x = WindowMouseX(0)
						A(C)\y = WindowMouseY(0)
						C + 1
					ElseIf EventType() =	#PB_EventType_RightClick
						Regions(I)\Reg = CreatePolygonRgn_(@A(), C, #ALTERNATE)
						If Regions(I)\Reg
							If OpenFile(0, GetTemporaryDirectory() + "Data.dat")
								FileSeek(0, Lof(0))
								WriteInteger(0, C)
								WriteData(0, @A(), SizeOf(POINT) * C)
								Regions(I)\Text = InputRequester("Enter Text", "Title for this region:", "Bla")
								WriteString(0, Regions(I)\Text)
								WriteByte(0, 0)
								I + 1
								CloseFile(0)
							EndIf
						EndIf
						C = 0
					EndIf
			EndSelect
		Case #WM_MOUSEMOVE
			F = 0
			If I > 0
				For j = 0 To I - 1
					If PtInRegion_(Regions(j)\Reg, WindowMouseX(0), WindowMouseY(0))
						StatusBarText(0, 0, Regions(j)\Text)
						F = 1
						Break
					EndIf
				Next j
			EndIf
			If Not F
				StatusBarText(0, 0, "")
			EndIf
	EndSelect
ForEver

End

DataSection
	Pic:
		IncludeBinary "F:\Eigene Dateien\Eigene Bilder\image0.jpg"
EndDataSection
Mit linker Maustaste Punkte setzen (die man nicht sieht, das sollte aber easy einzubauen sein) und mit rechter wird eine Region erstellt und in einer Datei gespeichert.
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Nicht schlecht :allright: . Jens und ich haben diese Regions-API in PNGShot eingesetzt, womit man Bilder Freihand ausschneiden kann :wink:

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

eine andere möglichkeit statt Regions wäre ein Referenz-Image,
auf dem man die Regionen mit unterschiedlichen Farben markiert.
wenn auf das Original geklickt wird, kann man im Referenzbild die Farbe
an diesen Koordinaten auslesen, der Farbcode fungiert als eine Art Index.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten