none
A generic error occurred in GDI+. RRS feed

  • Genel Tartışma

  • bu hata nedir ne demektir? çözümü nedir? teşekkürler...

     public Bitmap Boyutlandir(HttpPostedFile Dosya, int genislik, int yukseklik)
        {
            Bitmap resim = new Bitmap(Dosya.InputStream);
            if (resim.Width > genislik || resim.Height > yukseklik)
            {
                Size ebatlar = new Size(resim.Width, resim.Height);
                double oran = ((double)resim.Width / (double)resim.Height);
                if (resim.Width > genislik && genislik > 0)
                {
                    ebatlar.Width = genislik;
                    ebatlar.Height = (int)((double)genislik / oran);
                }
                if (ebatlar.Height > yukseklik && yukseklik > 0)
                {
                    ebatlar.Height = yukseklik;
                    ebatlar.Width = (int)((double)yukseklik * oran);
                }
                resim = new Bitmap(resim, ebatlar);
            }
            return resim;
        }
    
        void SaveImg()
        {
            //string imgName = System.IO.Path.GetFileName(fuImg.FileName);
            //fuImg.SaveAs(Server.MapPath("~/urunler/") + imgName);
            string imgName = DateTime.Now.Day.ToString() + DateTime.Now.Month + DateTime.Now.Year + DateTime.Now.Hour + DateTime.Now.Second + DateTime.Now.Minute + DateTime.Now.Millisecond;
            Bitmap Resim = new Bitmap(fuImg.PostedFile.InputStream);
            Bitmap imgs = Boyutlandir(fuImg.PostedFile, 800, 600);
            string sonucPath = "/urunler/" + imgName + ".jpg";
            string yeniPath = Path.Combine(sonucPath);
            Directory.CreateDirectory(yeniPath);
            //Resim.Save(HttpContext.Current.Server.MapPath(yeniPath), ImageFormat.Jpeg);
            Resim.Save(yeniPath, ImageFormat.Jpeg);
            lblW.Text = fuImg.FileName + " adlı resim yüklemesi başarılı!";
        }


    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.

    21 Aralık 2012 Cuma 08:05

Tüm Yanıtlar

  • saveas kısmındaki kaydedeceği yerin bulunduğuna dikkat , birde kaydettiğin resmin aynı adda aynı klasörde olmamasına
    21 Aralık 2012 Cuma 08:12
  • oradaki /urunler/ path i \\urunler\\ şeklinde değiştiridiğimde bu hatayı alıyorum;

    The network path was not found.


    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.

    21 Aralık 2012 Cuma 08:23
  • pathi bulamıyor , sorununuz büyük ihtimal pathden , dizin yapınızdan bahsederseniz sorunu çözebiliriz diye düşünüyorum yada aşağıdaki kodları deneyin çalışan kodlardır

    public string ResimBoyutlandir(string YeniResimYolu, string EskiResimYolu, int Genislik, int Yukseklik)
    {
                using (Bitmap gercekresim = new Bitmap(EskiResimYolu))
       {
                    Size newSize = new Size(Genislik, Yukseklik);
                    Bitmap yeniResim = new Bitmap(gercekresim, newSize);
                    string path = YeniResimYolu;
                    string yeniPath = Path.Combine(path);
                    yeniResim.Save(path, ImageFormat.Jpeg);
                    gercekresim.Dispose();
        }
                return YeniResimYolu;
    }

    Bu metodu yazın page_load {} dan hemen sonra , sonrasında resimi boyutlandıracağız yerde metodu çalıştırın boyutlandırmayı yapacaktır, oran vs. gibi işlemleri çalışırsa bu kod üzerinden gidersiniz , çalışma örneği

    ResimBoyutlandir(Server.MapPath("~/urunler/") + "resimadi.jpg", Server.MapPath("~/urunler/") + "boyutlandirilmamisresim.jpg", 100, 100);

    bu kod ile resimi 100 * 100 e boyutlandırmış olursunuz 

    21 Aralık 2012 Cuma 08:37
  • bu arada ulusoyy daha önce kadediyordu o kapatılan kodlar varken ama o zaman da boyutlandırma yapmıyor...

    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.

    21 Aralık 2012 Cuma 08:37
  • nasıl olsa ölcez diye mi cevap vermiyor kimse acaba? :D muhahaha

    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.


    21 Aralık 2012 Cuma 11:09
  • gönderdiğim metodu denediniz mi ?
    21 Aralık 2012 Cuma 13:11
  • thumb yapma şansımız da var mı ayn kod üzerinde? ve örneğin büyük resimleri 800x600px olarak ölçeklendirip urunler klasörüne atarken thumbları da urunler/th klasörüne atabilir. bu urunler klasörü ana dizinde...bu arada  sizin kodu şimdi denedim "Parameter is not valid." hatası alıyorum şu satırda...

    using (Bitmap gercekresim = new Bitmap(EskiResimYolu))
            {

    tüm kodlarım:

    public string ResimBoyutlandir(string YeniResimYolu, string EskiResimYolu, int Genislik, int Yukseklik)
        {
            using (Bitmap gercekresim = new Bitmap(EskiResimYolu))
            {
                Size newSize = new Size(Genislik, Yukseklik);
                Bitmap yeniResim = new Bitmap(gercekresim, newSize);
                string path = YeniResimYolu;
                string yeniPath = Path.Combine(path);
                yeniResim.Save(path, ImageFormat.Jpeg);
                gercekresim.Dispose();
            }
            return YeniResimYolu;
        }
    
    void Kayit()
        {
            if (Page.IsValid)
            {
                if (fuImg.HasFile == true)
                {                ResimBoyutlandir(Server.MapPath("~/urunler/") + "resimadi.jpg", Server.MapPath("~/urunler/") + "boyutlandirilmamisresim.jpg", 100, 100);
    
                    conn = new SqlConnection(connStr);
                    cmd = new SqlCommand("INSERT INTO Products (PrdName, StockCode, PrdQuantity, PrdUnitPrice, PrdTotalPrice, PrdImg, PrdAddDate) VALUES (@PrdName, @StockCode, @PrdQuantity, @PrdUnitPrice, @PrdTotalPrice, @PrdImg, @PrdAddDate)", conn);
                    cmd.Parameters.Add("@PrdName", System.Data.SqlDbType.NVarChar, 150);
                    cmd.Parameters["@PrdName"].Value = tbUrunAdi.Text;
                    cmd.Parameters.Add("@StockCode", System.Data.SqlDbType.NChar, 20);
                    cmd.Parameters["@StockCode"].Value = tbStokKod.Text;
                    cmd.Parameters.Add("@PrdQuantity", System.Data.SqlDbType.NChar, 10);
                    cmd.Parameters["@PrdQuantity"].Value = tbMiktar.Text;
                    cmd.Parameters.Add("@PrdUnitPrice", System.Data.SqlDbType.NChar, 10);
                    cmd.Parameters["@PrdUnitPrice"].Value = tbBirimFiyat.Text;
                    cmd.Parameters.Add("@PrdTotalPrice", System.Data.SqlDbType.NChar, 10);
                    cmd.Parameters["@PrdTotalPrice"].Value = tbToplamFiyat.Text;
                    cmd.Parameters.Add("@PrdImg", System.Data.SqlDbType.NVarChar, 150);
                    cmd.Parameters["@PrdImg"].Value = "urunler/" + fuImg.FileName;
                    cmd.Parameters.Add("@PrdAddDate", System.Data.SqlDbType.DateTime);
                    cmd.Parameters["@PrdAddDate"].Value = DateTime.Now;
                }
                else
                {
                    conn = new SqlConnection(connStr);
                    cmd = new SqlCommand("INSERT INTO Products (PrdName, StockCode, PrdQuantity, PrdUnitPrice, PrdTotalPrice, PrdAddDate) VALUES (@PrdName, @StockCode, @PrdQuantity, @PrdUnitPrice, @PrdTotalPrice, @PrdAddDate)", conn);
                    cmd.Parameters.Add("@PrdName", System.Data.SqlDbType.NVarChar, 150);
                    cmd.Parameters["@PrdName"].Value = tbUrunAdi.Text;
                    cmd.Parameters.Add("@StockCode", System.Data.SqlDbType.NChar, 20);
                    cmd.Parameters["@StockCode"].Value = tbStokKod.Text;
                    cmd.Parameters.Add("@PrdQuantity", System.Data.SqlDbType.NChar, 10);
                    cmd.Parameters["@PrdQuantity"].Value = tbMiktar.Text;
                    cmd.Parameters.Add("@PrdUnitPrice", System.Data.SqlDbType.NChar, 10);
                    cmd.Parameters["@PrdUnitPrice"].Value = tbBirimFiyat.Text;
                    cmd.Parameters.Add("@PrdTotalPrice", System.Data.SqlDbType.NChar, 10);
                    cmd.Parameters["@PrdTotalPrice"].Value = tbToplamFiyat.Text;
                    cmd.Parameters.Add("@PrdAddDate", System.Data.SqlDbType.DateTime);
                    cmd.Parameters["@PrdAddDate"].Value = DateTime.Now;
                }
    
                try
                {
                    conn.Open();
                    cmd.ExecuteNonQuery();
                    Response.Redirect("StockMng.aspx");
                }
                catch (Exception ex)
                {
                    lblW.ForeColor = Color.Red;
                    lblW.Text = "Kayıt işlemi sırasında bir hata oluştu, veri kaydedilemedi!<br/>" + ex.Message;
                }
                finally
                {
                    conn.Close();
                }
            }
        }
    
        #endregion
    <asp:Repeater ID="rptShowStock" runat="server">
            <HeaderTemplate>
                <table id="showstock">
                    <thead>
                        <th>
                            ID
                        </th>
                        <th>
                            Ürün Resmi
                        </th>
                        <th>
                            Stok Kodu
                        </th>
                        <th>
                            Ürün Adı
                        </th>
                        <th>
                            Miktar
                        </th>
                        <th>
                            Birim Fiyat
                        </th>
                        <th>
                            Toplam Fiyat
                        </th>
                        <th>
                            Eklenme Tarihi
                        </th>
                        <th>
                            Son Düzenleme Tarihi
                        </th>
                        <th>
                            &nbsp;
                        </th>
                        <th>
                            &nbsp;
                        </th>
                    </thead>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td>
                        <%# Eval("PID") %>
                    </td>
                    <td>
                        <img src='<%# "../" + Eval("PrdImg") %>' alt="" height="150" width="150" class="noImg" />
                    </td>
                    <td>
                        <%# Eval("StockCode") %>
                    </td>
                    <td>
                        <%# Eval("PrdName") %>
                    </td>
                    <td>
                        <%# Eval("PrdQuantity") %>
                    </td>
                    <td>
                        <%# Eval("PrdUnitPrice") %>
                    </td>
                    <td>
                        <%# Eval("PrdTotalPrice") %>
                    </td>
                    <td>
                        <%# Eval("PrdAddDate") %>
                    </td>
                    <td>
                        <%# Eval("PrdEditDate") %>
                    </td>
                    <td>
                        &nbsp;<asp:HyperLink ID="hypEdit" runat="server" NavigateUrl='<%# "StockMng.aspx?prdid="+Eval("PID")+"&process=edit" %>'
                            CssClass="btnEdit">&nbsp;&nbsp;&nbsp;&nbsp;</asp:HyperLink>
                    </td>
                    <td>
                        &nbsp;<asp:HyperLink ID="hypDel" runat="server" NavigateUrl='<%# "StockMng.aspx?prdid="+Eval("PID")+"&process=delete" %>'
                            CssClass="btnDel">&nbsp;&nbsp;&nbsp;&nbsp;</asp:HyperLink>
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table>
            </FooterTemplate>
        </asp:Repeater>
    aynı kodlar aynı methodlar Update methodunda da var...



    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.


    21 Aralık 2012 Cuma 13:12
  • gönderdiğim metod ile bi resmi istediğin kadar farklı boyutlandırabilirsin thumbs da alabilirsin,  

    ResimBoyutlandir(Server.MapPath("~/urunler/") + "resimadi.jpg", Server.MapPath("~/urunler/") + "boyutlandirilmamisresim.jpg", 100, 100);

    kodundan önce seçtiğin resmi kaydetmelisin, 

    Fileupload.SaveAs(Server.MapPath("../urunler") + fileupload.filename); ile kaydet sonra kodu yaz,

    ResimBoyutlandir(Server.MapPath("~/urunler/") + "farklibirisimveryeniresme.jpg", Server.MapPath("~/urunler/") + fileupload.filename, 100, 100);

    birde tekrar belirtmek istiyorum dizin yapınızın doğru olduğundan emin olun,  

    Klasör yapın şöyle olsun,

    Sayfalar Klasörü
    Urunler Klasörü

    yukardaki düzeni düşünüp sayfalar klasörü içinde sayfa.aspx sayfasında bu metodu kullanıyorsun server.mappath("../Urunler/") şeklinde yazıp dene, 

    her farklı boyutlandırma için kodu yazabilirsin, orjinal resim dosyası yeri sabit kalacak, yeni resmin boyutlarını ,yerini ve adını değiştireceksin


    21 Aralık 2012 Cuma 13:56
  •  teşekkürler...

    birde tekrar belirtmek istiyorum dizin yapınızın doğru olduğundan emin olun,  


    Klasör yapın şöyle olsun,

    Sayfalar Klasörü
    Urunler Klasörü

    yukardaki düzeni düşünüp sayfalar klasörü içinde sayfa.aspx sayfasında bu metodu kullanıyorsun server.mappath("../Urunler/") şeklinde yazıp dene, 

    her farklı boyutlandırma için kodu yazabilirsin, orjinal resim dosyası yeri sabit kalacak, yeni resmin boyutlarını ,yerini ve adını değiştireceksin

    bu kısımlarda demek istediğini tam olarak anlayamadım?

    urunler klasörü zaten sitenin root dizininde birşeyin altında falan değil ancak yine bu şekilde kullanıyoruz he ~/urunler/ şeklinde... her farklı boyutlandırma için yazacağım kod nedi? ya da değiştireceğim yer neresidir?


    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.


    21 Aralık 2012 Cuma 14:17
  • ResimBoyutlandir(Server.MapPath("~/urunler/") + "farklibirisimveryeniresme.jpg", Server.MapPath("~/urunler/") + fileupload.filename, 100, 100);

    bu kodu her boyutlandırma için kullanabilirsin,alt alta bu kodu ekle ,

    Server.MapPath("~/urunler/") + "farklibirisimveryeniresme.jpg"          bu kısmı yeni kaydedeceğin resmin yeri ve adına göre değiştir,

    100,100   bu kısımda yeni resmin boyutu olucak

    21 Aralık 2012 Cuma 14:30
  • deminden beri bu hatayı alıyorum:

    Could not find a part of the path 'C:\...\urunler\urunler\21122012_162939453_Jellyfish.jpg'.

    bişi dikkatnizi çekti mmi? urunler klasörü iki kez ekleniyor...bunu önleyebilirsek sanırım bu hatayı almayız...


    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.

    21 Aralık 2012 Cuma 14:41
  • o zaman breakpoint ile git ve adım adım kontrol et nerede ne zaman nereye kaydettiğini ona göre düzeltirsin
    21 Aralık 2012 Cuma 14:44
  • kodlarımın son hali şöyle;

    string imgName = "urunler/" + DateTime.Now.Day.ToString() + DateTime.Now.Month + DateTime.Now.Year + "_" + DateTime.Now.Hour + DateTime.Now.Second + DateTime.Now.Minute + DateTime.Now.Millisecond + "_" + System.IO.Path.GetFileName(fuImg.FileName); fuImg.SaveAs(Server.MapPath("~/urunler/") + imgName); //lblW.Text = fuImg.FileName + "&nbsp;adlı resim yüklemesi başarılı!"; ResimBoyutlandir(Server.MapPath("~/urunler/") + imgName + ".jpg", Server.MapPath("~/urunler/") + fuImg.FileName, 800, 600); ResimBoyutlandir(Server.MapPath("~/urunler/th/") + imgName + ".jpg", Server.MapPath("~/urunler/th/") + fuImg.FileName, 150, 120);

    cmd.Parameters.Add("@PrdImg", System.Data.SqlDbType.NVarChar, 150); cmd.Parameters["@PrdImg"].Value = "urunler/" + fuImg.FileName; //imgName.ToString()

    diğeri sizin verdiğiniz gibi...


    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.

    21 Aralık 2012 Cuma 14:53
  • string imgName = "urunler/" + DateTime.Now.Day.ToString() + DateTime.Now.Month + DateTime.Now.Year + "_" + DateTime.Now.Hour + DateTime.Now.Second + DateTime.Now.Minute + DateTime.Now.Millisecond + "_" + System.IO.Path.GetFileName(fuImg.FileName);

    bu kısım

    string imgName = DateTime.Now.Day.ToString() + DateTime.Now.Month + DateTime.Now.Year + "_" + DateTime.Now.Hour + DateTime.Now.Second + DateTime.Now.Minute + DateTime.Now.Millisecond + "_" + System.IO.Path.GetFileName(fuImg.FileName);

    bu şekilde olucak

    21 Aralık 2012 Cuma 15:07
  • tamam yaptım ancak Parameter is not valid. hatasını almaya devam ediyorum... ve thumb resmi hiç atmıyor...

    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.



    21 Aralık 2012 Cuma 15:12
  • hata gösterdiği kodu yazarmısın birde 
    21 Aralık 2012 Cuma 15:22
  • using (Bitmap gercekresim = new Bitmap(EskiResimYolu))

    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.

    21 Aralık 2012 Cuma 15:38
  • EskiResimYolu

    O zaman buraya giden yolda resim yoktur, buraya gönderdiğin yolu ve resmin orda olduğundan emin ol

    21 Aralık 2012 Cuma 15:45
  • orada resim olmayacak zaten herhangi bir yerden aldığı resmi urunler klasörüne atacak....ve urunler/th ye

    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.

    21 Aralık 2012 Cuma 15:48
  • hata verdiği yer resim boyutlandırmadaki alan, orda resim olacak, orada orjinal resmin yolu olacak ki o resme göre resimi boyutlandırsın, orada resim yolu olmazsa neye göre hangi resme göre yeni resmi boyutlandıracak, bence sen biraz detaylı incele kodları nerde hangi kodda ne yapmaya çalıştığını anla ondan sonra devam et daha kolay olur senin için ve daha hızlı ilerlersin projende
    21 Aralık 2012 Cuma 16:44
  • haklısın dostum ancak benim demek istediğim resmi herhangi bir yerden fileupload ile alacak ve aldığı resmi boyutlandıracak sonra klasöre ve db ye atacak... ve daha hızlı çözüm bulmalıyım...

    Plies - See Nann Nigga

    Scope Piskopos - Ben 46 Raporlu Bir Deliyim

    Ben başarısız olmadım, sadece işin bu şekilde yapılmayacağının bir çok yolunu buldum ve işin nasıl yapılacağına da bir çok defa yaklaştım.


    22 Aralık 2012 Cumartesi 07:59