2016-04-01 26 views
1

Bu mümkün mü?Resimde görüntüye belirli bir noktaya git

Görüntüdeki bir noktanın X ve Y koordinatlarını saklamak ve bir düğmeye tıklatmak için o alana atlamak gibi bir şey yapmak istiyorum.

Formumda bulunanlarAuto Scroll özelliği true olarak ayarlanmıştır. Panelin içinde görüntü daha büyük kaydırma çubukları varsa panelin içinde bir PictureBox olduğunu. Şu anda sahip olduğum şey, kaydırma çubuklarının konumlarını almak ve daha sonra Panel1.AutoScrollPosition kullanarak bu konuma geçmek, görüntü boyutu, yakınlaştırma veya uzaklaştırmada olduğu gibi değişirse, yanlış konuma bakıyorum.

Görüntü üzerinde belirli bir nokta elde etmek mümkün mü, resimdeki görüntü veya herhangi bir kontrolün olmaması mümkün mü? Şu anda oynatabildiğim görüntünün 33722 x 4672 olduğunu unutmayın.

+0

Hiya - Programınız C# veya etc.net ile yazılmıştır - Soruları sormak için kabul edilen yol, yalnızca kullandığınız dili etiketlemektir. Daha geniş bir kitleye ulaşmak için daha fazla etiket eklemenin cazip olduğunu biliyorum, ancak çoğu zaman göz ardı edilmek üzere etiketleri işaretleyen insanlar için daha dar bir kitleye yol açabilir. Mesela C# etiketlerini görmezden gelirim, normalde bu soruyu fark etmem. –

cevap

0

Aradığınız şeyin Bitmap sınıfı olduğuna inanıyorum.
Pikselinizi görüntünüzde bir konuma almak için GetPixel() işlevini kullanabilirsiniz.

PictureBox Görüntü'nizi bir Bitmap nesnesine koymak için bunu yapın.

Bitmap bitmap = new Bitmap(mypicturebox.Image); 
bitmap.GetPixel(i, j); 
+0

Bence öyle değil. Sadece bu işlevi okudum ve pikselin rengini almak için kullanıldığını söylüyor. Ardından, pikselin rengini ayarlayan 'SetPixel()' adlı başka bir işlev vardır. İhtiyacım olan şey, büyük bir görüntü üzerinde bu piksele gitmek için bir yol bulmak. – crimson589

+0

Yani belirli bir piksel için dizine ihtiyacınız var. Forma göre PictureBox ve Mouse pozisyonunu elde ederseniz, farenizi farenizin hangi piksele geçtiğini fark edebilirsiniz. Bu uygun ölçeklendirme verildiği işe yarayacaktı. Görüntü ölçeğiniz yakınlaştırılabilir ise, bunu takip etmelisiniz. – NebulaGrey