[ wex-alpha @ 04.07.2010. 18:23 ] @
Pokusavam da snimim sliku koja se nalazi na formi/image.

evo koda koji radi, ali ne odgovara mi:

Code (csharp):

RenderTargetBitmap rtb = new RenderTargetBitmap(800, 800, 96, 96, PixelFormats.Pbgra32);
            rtb.Render(image1); //ovo je image kontrola koja drzi sliku

            JpegBitmapEncoder jpg = new JpegBitmapEncoder();
            jpg.Frames.Add(BitmapFrame.Create(rtb));
            using (Stream fs = File.Create("test.jpg"))
            {
                jpg.Save(fs);
            }

 


Ovaj kod snimi sliku u root c:. Radi kada koristim hardcode path






Meni treba nacin da snimim sliku dinamicno. Treba mi dinamican path. Pa sam pokusao ovaj kod, ali mi ne ide kako treba.

Dakle, treba da snimim sliku sa nazivom koji se nalazi u stringu, i da je zapisem u filder koji se nalazi u izvrsnom folder, mjesto gdje se nalazi *.exe.



Evo koda koji sam napravio, ali nesto ne radi kako treba.



Code (csharp):

            String pravidirektorij = ".../slikefilmova/" + nazivfilma.Text;
            String pathzafilm1 = ".../slikefilmova/" + nazivfilma.Text + ".jpg";
         
               
            Directory.CreateDirectory(pravidirektorij); // napravi folder sa nazivom filma.



           // FileStream writeStream = new FileStream(saveTo, FileMode.Create, FileAccess.Write);




            RenderTargetBitmap rtb = new RenderTargetBitmap(800, 800, 96, 96, PixelFormats.Pbgra32);
            rtb.Render(image1);

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


                // FileStream fs = new FileStream(pathzafilm, FileMode.Create);
                {
                    jpg.Save(fs);
                }


 



Ovaj kod pravi foldere na c: root, ali meni treba da ih kreira na izvrsnom mjestu, dakle gdje god da se *.exe nalazi.

Kako da formatiram string da mi zapisuje fajl na mjestu gdje se nalazi *.exe?


[ Igor Gajic @ 04.07.2010. 19:26 ] @
Code (csharp):

System.IO.Directory.GetCurrentDirectory();
 


^ direktorijum u kojem je .exe

Code (csharp):


System.IO.Directory.GetCurrentDirectory() + System.IO.Path.DirectorySeparatorChar +  nazivfilma.Text + ".jpg"

 


^ putanja fajla
[ wex-alpha @ 05.07.2010. 16:19 ] @
Hvala. Napravio sam da radi :)
[ ravni @ 15.07.2010. 22:28 ] @
cini mi se da je bolje da koristi Application.ExecutablePath jer se "current directory" menja pri otvaranju fajla kroz dijalog box i sl