NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
D0ll0k
Člen
Avatar
D0ll0k:17.9.2015 16:36

Ahojte :). Potřeboval bych pomoct s vybíráním barev ve WPF. Jde o to, že mám dva canvasy nad sebou. Dolnímu do backgroundu jsem vložil LinearGradientBrush z prava doleva, kde je nejdřív červená a pak bílá barva a na horním je další LinearGradientBrush ze zdola nahoru s černou a následně průhlednou barvou. Ta červená barva se může měnit podle toho, jaká čísla zadám do tří textboxů (jako vybírání barev v RGB). Teď bych potřeboval zjistit jakou barvu má pixel, na který jsem klikl. Napadlo mě, že bych mohl udělat screenshot a pak ten pixel najít, jenže jsem nemohl přijít, jak to udělat.

Odpovědět
17.9.2015 16:36
Veni, vidi, programmato
Avatar
Odpovídá na D0ll0k
sadlomaslox25:17.9.2015 22:01
private void grid_MouseDown(object sender, MouseButtonEventArgs e)
        {
            RenderTargetBitmap render = new RenderTargetBitmap((int)grid.ActualWidth, (int)grid.ActualHeight, 96, 96, PixelFormats.Default);
            render.Render(grid);

            using (MemoryStream stream = new MemoryStream())
            {
                BitmapEncoder encoder = new BmpBitmapEncoder();
                encoder.Frames.Add(BitmapFrame.Create(render));
                encoder.Save(stream);


                using (Bitmap bitmap = new Bitmap(stream))
                {
                    var position = e.GetPosition(grid);
                    var color = bitmap.GetPixel((int) position.X, (int) position.Y);
                    button.Background = new SolidColorBrush(System.Windows.Media.Color.FromArgb(color.A, color.R, color.G, color.B));
                }
            }
        }

kde grid obsahuje ty 2 canvasy
a button.background je to co ma mit tu barvu.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
17.9.2015 22:01
Avatar
D0ll0k
Člen
Avatar
Odpovídá na sadlomaslox25
D0ll0k:17.9.2015 22:14

Super díky :)

Nahoru Odpovědět
17.9.2015 22:14
Veni, vidi, programmato
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.