Snímání souřadnic bodů obrázků
Před časem jsem stál před
problémem, jak zjistit na obrázku souřadnice určitých bodů. Bylo
sice možné v grafickém editoru najet nad potřebné místo myší a
souřadnice bodu si opsat, ale pokud se jedná o větší množství
bodů, je to přiliš zdlouhavé.
Na internetu jsem vygooglil metodu, jak se
dají souřadnice zapsat pomocí Microsoft Excelu:
Otevřít Excel, Zobrazit Ovládací prvky:
V panelu ovládacích prvků, který se zobrazí, se přepneme do režimu návrhu (označeno červenou jedničkou). Pak klikneme na Obrázek (vlevo dole dvojka) a na ploše Excelu tažením myší vytvoříme
obdélník, nejlépe tak, aby nepřekrýval sloupce A a B, kam se budou
později zapisovat výsledné souřadnice. Klikneme do obdélníku, aby byl aktivní a
v panelu klikneme vpravo nahoře na Vlastnosti (trojka), otevře
se dialog vlastností:
- V poli Height nastavíme výšku
okna na velikost obrázku - přesně podle skutečnosti!
- V poli Mouse Pointer zvolíme hodnotu 2,
aby se myš kurzoru nad obrázkem zobrazovala jako křížek (toto není nutné,
ale doporučuji)
- V poli Picture zvolíme obrázek, jehož souřadnice chceme snímat.
- V poli Picture Aligment nastavíme hodnotu 0 (obrázek se umístí vlevo nahoře)
- V poli Picture size mode nastavíme 1 (aby se obrázek nedeformoval)
- V poli Width nastavíme šířku
okna na velikost obrázku - přesně podle skutečnosti!
Vlastnosti můžeme zavřít, klikneme
na „Ukázat kód“ (čtyřka) a vložíme následující kód:
Private Sub Image1_MouseDown(ByVal Button As
Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim pocitadlo As Single
If Button = 1 Then
pocitadlo = 1
Do
If Range("a" &pocitadlo) = "" Then Exit Do
pocitadlo = pocitadlo + 1
Loop
Range("a" &pocitadlo).Value = X
Range("b" &pocitadlo).Value = Y
End If
End Sub
Zavřeme Visual basic a opětovným kliknutím na levou horní ikonu
panelu Ovládacích prvků (jedniěka) se přepneme do pracovního režimu.
Nyní, když klikneme do obrázku, uloží se
souřadnice jednotlivých kliků ve sloupci A a B: