Çözüldü Visual Studio ile bir rengi tanımlama nasıl yapılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

DolunayS31

Hectopat
Katılım
17 Şubat 2022
Mesajlar
87
Visual Studio projemde yardım almam gerekiyor, çalıştıracağım program ile ekrandaki renkleri okuyup aktarması için böyle bir şey yapabilir miyim acaba?
Her şey tamam ama bir tek rengi algılatamıyorum.
 
Çözüm
Hocam mesela ekranımda her yer beyaz ve sadece 1 yerde siyahlık var ben b ye bastığımda fare nerede olursa olsun siyahın üzerine gitmesi lazım bunu yapabilir miyim?
İşte dediğim gibi onun için bir algoritma gerekli.
Aklıma şöyle bir şey geldi belki yardımcı olabilir:
- Farenizi ekranın her yerini (döngü ile olabilir) gezdirin
- Eğer mouse imlecindeki renk değeri siyaha eşitse mouse click olayını yaptırın.
- Eğer mouse imlecindeki renk değeri siyaha eşit değilse döngüye devam eder
Visual Studio projemde yardım almam gerekiyor, çalıştıracağım program ile ekrandaki renkleri okuyup aktarması için böyle bir şey yapabilir miyim acaba?
Her şey tamam ama bir tek rengi algılatamıyorum.
Visual Studio bir yazılım dili değildir IDE (integrated development environment) olduğu için Visual studio içinde hangi dil ile çalıştığını da belirtmen gerekiyor
 
Bu işte pek iyi değilim C# masaüstü programları dilini kullanıyorum

Şu senin işini görebilir fakat bu c# windows form uygulaması olduğunu unutma console app da çalışıp çalışmayacağını bilemiyorum

C#:
private async void Form1_Load(object sender, EventArgs e)
{
    await Task.Run(() =>
    {
        while (true)
        {
            Point cursor = new Point();
            GetCursorPos(ref cursor);
 
            var c = GetColorAt(cursor);
            this.BackColor = c;
            // aldığın değeri başka yerde kullanmak istersen c değişkenine erişerek yapabilirsin
        }
    });
}
 
Şu senin işini görebilir fakat bu C# Windows form uygulaması olduğunu unutma Console App da denemeye çalışma

C#:
private async void Form1_Load(object sender, EventArgs e)
{
 await Task.Run(() =>
 {
 while (true)
 {
 Point cursor = new Point();
 GetCursorPos(ref cursor);

 var c = GetColorAt(cursor);
 this.BackColor = c;
 // aldığın değeri başka yerde kullanmak istersen c değişkenine erişerek yapabilirsin
 }
 });
}

Sağ olun hocam peki bunu yaptım diyelim sonra bunu istediğim renge kitlenip kalmasını sağlayabilir miyim örnek b tuşuna bastığımda şu renge git ve tıkla gibi
 
Sağ olun hocam peki bunu yaptım diyelim sonra bunu istediğim renge kitlenip kalmasını sağlayabilir miyim örnek b tuşuna bastığımda şu renge git ve tıkla gibi

'b' tuşuna bastığında o anki rengi hafızada tutabilirsin (c değişkenini başka değişkene atayabilirsin) fakat "Şu renge git onu bul daha sonra tıkla" gibi komut için algoritma gerekli.

'b' tuşuna bastığında o anki rengi hafızada tutabilirsin (c değişkenini başka değişkene atayabilirsin) fakat "Şu renge git onu bul daha sonra tıkla" gibi komut için algoritma gerekli.
C#:
private async void Form1_Load(object sender, EventArgs e)
{
    await Task.Run(() =>
    {
        while (true)
        {
            Point cursor = new Point();
            GetCursorPos(ref cursor);
 
            var c = GetColorAt(cursor);
            this.BackColor = c;
            // aldığın değeri başka yerde kullanmak istersen c değişkenine erişerek yapabilirsin
        }
    });
}

C#:
private void InitializeComponent()
{
    //...
    this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyUp);
    //...
}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
    MessageBox.Show(e.KeyCode.ToString());
    // hangi tuşa basarsan onun bilgisini verir.

    //sen b dediğin için şöyle bir şey yapabilirsin
    if (e.KeyCode == Keys.b)
    {
        
        MessageBox.Show("b tuşuna basıldı");
    }
}
 
'B' tuşuna bastığında o anki rengi hafızada tutabilirsin (C değişkenini başka değişkene atayabilirsin) fakat "Şu renge git onu bul daha sonra tıkla" gibi komut için algoritma gerekli.

C#:
private async void Form1_Load(object sender, EventArgs e)
{
 await Task.Run(() =>
 {
 while (true)
 {
 Point cursor = new Point();
 GetCursorPos(ref cursor);

 var c = GetColorAt(cursor);
 this.BackColor = c;
 // aldığın değeri başka yerde kullanmak istersen c değişkenine erişerek yapabilirsin
 }
 });
}

C#:
private void InitializeComponent()
{
 //...
 this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyUp);
 //...
}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
 MessageBox.Show(e.KeyCode.ToString());
 // hangi tuşa basarsan onun bilgisini verir.

 //sen b dediğin için şöyle bir şey yapabilirsin
 if (e.KeyCode == Keys.b)
 {

 MessageBox.Show("b tuşuna basıldı");
 }
}

'B' tuşuna bastığında o anki rengi hafızada tutabilirsin (C değişkenini başka değişkene atayabilirsin) fakat "Şu renge git onu bul daha sonra tıkla" gibi komut için algoritma gerekli.

C#:
private async void Form1_Load(object sender, EventArgs e)
{
 await Task.Run(() =>
 {
 while (true)
 {
 Point cursor = new Point();
 GetCursorPos(ref cursor);

 var c = GetColorAt(cursor);
 this.BackColor = c;
 // aldığın değeri başka yerde kullanmak istersen c değişkenine erişerek yapabilirsin
 }
 });
}

C#:
private void InitializeComponent()
{
 //...
 this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.Form1_KeyUp);
 //...
}

private void Form1_KeyUp(object sender, KeyEventArgs e)
{
 MessageBox.Show(e.KeyCode.ToString());
 // hangi tuşa basarsan onun bilgisini verir.

 //sen b dediğin için şöyle bir şey yapabilirsin
 if (e.KeyCode == Keys.b)
 {

 MessageBox.Show("b tuşuna basıldı");
 }
}

Hocam mesela ekranımda her yer beyaz ve sadece 1 yerde siyahlık var ben b ye bastığımda fare nerede olursa olsun siyahın üzerine gitmesi lazım bunu yapabilir miyim?
 
Hocam mesela ekranımda her yer beyaz ve sadece 1 yerde siyahlık var ben b ye bastığımda fare nerede olursa olsun siyahın üzerine gitmesi lazım bunu yapabilir miyim?
İşte dediğim gibi onun için bir algoritma gerekli.
Aklıma şöyle bir şey geldi belki yardımcı olabilir:
- Farenizi ekranın her yerini (döngü ile olabilir) gezdirin
- Eğer mouse imlecindeki renk değeri siyaha eşitse mouse click olayını yaptırın.
- Eğer mouse imlecindeki renk değeri siyaha eşit değilse döngüye devam eder
 
Çözüm
İşte dediğim gibi onun için bir algoritma gerekli.
Aklıma şöyle bir şey geldi belki yardımcı olabilir:
- Farenizi ekranın her yerini (döngü ile olabilir) gezdirin
- Eğer mouse imlecindeki renk değeri siyaha eşitse mouse Click olayını yaptırın.
- Eğer mouse imlecindeki renk değeri siyaha eşit değilse döngüye devam eder

Bilgisayarım eski olduğu için biraz çekinerek yazıyorum eğer kapanırsa tüm her şey gidebilir şimdilik sana teşekkür ederim ileride iyi bir bilgisayarım olduğunda bunların hepsini yapacağım,
Teşekkürler
 

Bu konuyu görüntüleyen kullanıcılar

Technopat Haberler

Yeni konular

Geri
Yukarı