Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa snimanjenem slike

[es] :: .NET :: WPF Programiranje :: Problem sa snimanjenem slike

[ Pregleda: 1993 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

wex-alpha
Sarajevo

Član broj: 7580
Poruke: 845
85.158.38.*



+13 Profil

icon Problem sa snimanjenem slike08.07.2010. u 15:37 - pre 167 meseci
Treba da snimim sliku sa Image kontrole koja se nalazi na formi. Kontrole spadaju pod Visuals, dakle i Image je visual.

Sad na MSDN sam nasao da RenderTargetBitmap je maltene dizajnirana za tu svrhu. Ali kako god pokusam slika mi ne postize originalnu velicinu. Ma sta originalnu velicinu, ni blizu tog. Dobijem file sa crnom slikom, a negdje po njoj se nalazi i moja slika, drasticno smanjena.

Evo koda koji to radi:



Code (csharp):


RenderTargetBitmap  rtb = new RenderTargetBitmap(800, 800, 96, 96, PixelFormats.Pbgra32);
            rtb.Render(image1); // ovo je naziv Image kontrole

            JpegBitmapEncoder jpg = new JpegBitmapEncoder();
            jpg.Frames.Add(BitmapFrame.Create(rtb));
           
                using (Stream fs = File.Create(pathzafilm1))

               
                {
                    jpg.Save(fs);
                   
                }


 



Koliko sam shvatio RenderTarget radi sljedece stvari:

1. Slika (crna pozadina je kreirana) velicine 800x800 ->>>>>RenderTargetBitmap(800, 800, 96, 96, PixelFormats.Pbgra32);

2. Moja slika, kojoj je velicina na neki nacin smanjena je naljepeljena na tu crnu sliku.


Vjerovatno grijesim, ali evo kako ja vidim RenderTargetBitmap.

RenderTargetBitmap(a,b,c,d,e)

- a,b su velicina slike
- b,c dubina piksela
- nesto radi sa bojama

Nigdje ne mogu naci kako da svoju sliku uvecam.


Probao sam sljedece, iako nisam vidjeo da ce to ista pametno uraditi


Code (csharp):

 RenderTargetBitmap rtb = new RenderTargetBitmap(Convert.ToInt32(image1.ActualHeight), Convert.ToInt32(image1.ActualWidth), 30, 30, PixelFormats.Pbgra32);
                rtb.Render(image1);


 


Naravno ista stvar.

Onda sam probao trik. Napravio sam treci Image koji drzi identicnu sliku. Tom trecem Image-u mpgu mjenjati velicinu, kako god ja zelim jer sam stavio izvan forme. Ali kako god ja mjenjao sliku, ista stvar. Ima promjena doduse, zavisno kada mjenjam sliku ali ja ne vidim pattern prema kojem bi se mogao ravnati dok ne ubodem pravu stvar.

Onda sam probao da stavim Image u canvas i da canvas snimim. Samo dobijam crnu sliku sa canvasom.

Imam i treci trik, koji jos nisam probao. Buduci da druge Visual-e (button, Combo...) bez problema snimam, mozda da napunim button sa slikom, onda ga razvucem ko pracku te njega snimim.
Mislim, mora biti rjesenje a da se ja ne zezam sa button trikom.








 
Odgovor na temu

[es] :: .NET :: WPF Programiranje :: Problem sa snimanjenem slike

[ Pregleda: 1993 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.