Türkiye haritası resmi üzerinde form tasarlayan ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen conari »

Bu şekilde bir çalışma yapan varmı?
resimde hangi bölge veya hangi ile tıklandığını söylecek var ise örnek verebilirmi.

Flash sonraki seçenek.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen G.Arkas »

küçük butonlar ile yapabilirsiniz? yada labellerle.Türkiye haritasını timage nesnesi ile forma koyun.Daha sonra 81 label ekleyin ve captionlarını boş bırakın click olaylarına da o illerin isimlerini koyun örneğin

lbadana.click;
begin
edit1.text:='Adana';
end;

gibi iyi çalışmalar.
Resim
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen Lost Soul »

biraz uğraştıracak ama illerin sınırlarını tpoint türünden tanımlarsın
bkz:viewtopic.php?f=1&t=25782&hilit=point

Kod: Tümünü seç

type Til = array of tpoint;

type  Tiller = array of Til; gibi
sonra haritayı timage nesnesine atıp

onclick olayında x,y koordinatlarının point sınırları içerisinde olup olmadığını kontrol eden bir fonksiyon yazarsın.

Kod: Tümünü seç

var Iller : Tiller;
Result:=-1
For i = Low(iller) to high(iller) do
  if Bu_Il_Mi_Acaba(iller[i] ,x,y) then Result:=i;
ve il bulma fonksiyonu

Kod: Tümünü seç

Function Bu_Il_Mi_Acaba(HangisiKanki:Til ,x,y : integer):boolean;
Begin
  For yumusak_g:=low(HangisiKanki) to high(HangisiKanki) do
  Begin
  buraya ilin pointi sağa mı düşüyor sola mı düşüyor yukarda mı aşaşğıda mı  ona göre limtleri belirttikten sonra ya da pointler arası mantıksal çizgiler çizip çizginin içinde de mi dışında mı kontrol edersin.
içindeyse true değilse false döndürürsün.
  End;
End;
buna benzer bi yapı olur. İçini artık sen doldurursun :D
qamyoncu
Üye
Mesajlar: 266
Kayıt: 12 Tem 2008 04:30

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen qamyoncu »

Merhabalar..

-Her ilin sınırları içerisinden 1 ve ya 2 noktayı bir değişkene not edebiliriz, not ederken her noktanın sonucuna o ilin adı gelecek şekilde not edelim.
-Fare tıklandığında veyahut üstünde dolaştığında bir ilin;
-Örneğin o ilin rengi kırmızı ise(image1.canvas.pixel[x,y] ile bulabilirsin rengi) çevresindeki tüm 8 pixelin renklerine baksın programımız ve daha sonra o 8 pixelin her birinin çevresinde ki renklere de ... ... ... taa ki, renk kırmızı olmayana kadar. Ve bakılan her noktayı bir kenara not etsin tabii. Böylelikle tıklanan veya fare ile dolaşılan ilin tüm koordinatlarını elde etmiş oluruz.
-Daha sonra ilk not edilen veriler ile karşılaştırılır bu son verilerimiz. Bir nokta uyuşacaktır elbette. Çünkü ilk yaptığımız ile 81 ilden 1er nokta aldık. ikinci yaptğımız ile 1 ildeki tüm noktaları aldık. Bu sayede hangi il olduğunu anlayabilirsin.

** Yazım yanlışları düzenlemesi
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen conari »

Bilgiler için teşekkürler.
Tam sınırları dolduramasakta en basiti label olacak sanırım.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen aslangeri »

s.a.
delphi 3 de bir button vardı jbutton muydu netdi tam hatırlamıyorum adını. o buttona verdiğimiz resmin şeklini alıyordu.
o tarz bi bileşen sanırım işini görür.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen conari »

aslangeri yazdı:s.a.
delphi 3 de bir button vardı jbutton muydu netdi tam hatırlamıyorum adını. o buttona verdiğimiz resmin şeklini alıyordu.
o tarz bi bileşen sanırım işini görür.
kolay gelsin.
Ozaman şu linki bir aktif edeyim.
viewtopic.php?f=1&t=1645
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen conari »

Citi buton diye bir compenet buldum işe yarıyor ama ücretli.
Free compenent lazım.
JEdi deki butonları deneyeceğim.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
Lost Soul
Üye
Mesajlar: 1064
Kayıt: 01 Nis 2007 02:55
Konum: mekan ANKARA toprak ELAZIĞ
İletişim:

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen Lost Soul »

conari yazdı:Citi buton diye bir compenet buldum.
linkini verebilir misiniz.?
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen conari »

Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen mrmarman »

Merhaba.


Sorduğunuz soruyu daha önce http://kontrol.armantr.com/ linkindeki projede uygulamıştım. Dilersen sorunu nasıl çözdüğümü kısaca anlatayım.

Forumda yazdığım yazılarda tekrar tekrar "ilüzyon yeteğinimizi kullanalım" diyorum. Çünkü yazdığımız kodlarla aslında kullanıcı ekranında 1 işlem yapılıyormuş gibi görüyorken perde arkasında belki de 100 işlem yaptırıyoruz, haberi bile olmuyor.

İki tane Türkiye Haritası hazırlayarak işe başladım. Birisi tümüyle kullanıcının ekranda göreceği türden boyanmış, resimlenmiş ve isimlendirilmiş halde olanı. Diğeri ise ilki ile bire bir boyutlarda ancak iller farklı renk kodları ile boyanmış halde.

Bu iki resimden birisini kullanıcının görebileceği bir TImage nesnesine (Image1 diyelim) koyuyoruz, referans olacak diğerini (Image2 diyelim) ise Visible değeri false olan veya görünür olanın tam arkasında gizlenmiş olarak tutulan diğer TImage nesnesine.

Şimdi Image1'in MouseUP olayında X,Y değerini alıyoruz, Image2'nin Canvasındaki X,Y konumundaki Pixels yani o pixel'in renk kodunu okuyoruz. Bu kod ile ilişkilendirilmiş İl hangisi ise ona tıklanmış olduğu şeklinde yorumlayıp işimizi yapıyoruz. :idea:

Anlamadıysanız uygun bir zamanda bir örnek hazırlarım.

İyi çalışmalar.
Resim
Resim ....Resim
deltas
Üye
Mesajlar: 358
Kayıt: 06 Mar 2004 01:08
Konum: Malatya...
İletişim:

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen deltas »

M uharrem Hocam bu konuda küçük bir örnek verirseniz çok mükemmel olur. En azında *.shp formatiyla uğraşmaktan kurtulurum.
Nice İnsanlar gördüm üstünde elbise yok;
Nice elbiseler gördüm içinde insan yok.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen conari »

Yok Hocam güzel anlatmışsınız. Alternatif olabilir.
Ben olaya Jvtransparanbuton ile şu anda başladım. Fakat buda 81 tane buton forma koymak demek. İlk olarak bunlar için global bir click eventi yapabilirmiyim diye soracaktım siteye.

Dün bir flash buldum. Kodlarını geliştirip, sanırım bu flasha döneceğim.
Flashın Fscommand eventininden faydalanarak Delphide hangisine tıklandığını yakalayacağım. Buna geçmeyi düşünüyorum.

Teşekkürler
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Türkiye haritası resmi üzerinde form tasarlayan ?

Mesaj gönderen mrmarman »

@conari yazdı:Dün bir flash buldum. Kodlarını geliştirip, sanırım bu flasha döneceğim.
Flashın Fscommand eventininden faydalanarak Delphide hangisine tıklandığını yakalayacağım. Buna geçmeyi düşünüyorum.
Evet ben de bir tane swf bulmuştum. Belki de aynısını buşmuşsundur. Aklında olsun Kıbrıs için giriş orada yapılmamış SWFDecompiler ile açıp kıbrıs için de fscommand erişimi eklemen gerekiyor. İl olarak da 83 diyebilirsin :wink: sadece bir hatırlatma.

@deltas
İtiraf edeyim bu bahsettiğim swf'deki çizimi WMF (Windows Metafile) formatı haline dönüştürüp öyle kullandım. İstanbul ve Çanakkale boğazlarını 3 pixel genişliğinde koridor olacak şekilde birleştirdim ki bir floodfill ile boyadığım bölge boğazın karşısındaki diğer kısmına da erişebilsin.

Uygun bir zaman bulursam kaynak kodlarını ana projeden ayırıp müstakil bir örnek hazırlarım. WMF'ler resource olarak gömülü olduğundan WMF'leri resourcehacker gibi bişey ile açmam gerekecek. Biraz yoğunum az boşluklarda sadece mesajlara bakıp mümkünse cevap yazabiliyorum. Yedek HDD'si yanımda önce oradan bakar bulursam hemen haritayı yollarım.
Resim
Resim ....Resim
Cevapla