<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>asp.net, jquery ve diğer web teknolojileri üzerine &#187; photo</title>
	<atom:link href="http://www.apostylee.com/tag/photo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.apostylee.com</link>
	<description>asp.net, jquery ve diğer web teknolojileri üzerine, biraz da kişisel.</description>
	<lastBuildDate>Mon, 10 Oct 2011 11:49:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Asp.Net ile fotoğrafları kaliteli boyutlandırma</title>
		<link>http://www.apostylee.com/asp-net-ile-fotograflari-kaliteli-boyutlandirma/</link>
		<comments>http://www.apostylee.com/asp-net-ile-fotograflari-kaliteli-boyutlandirma/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 14:46:57 +0000</pubDate>
		<dc:creator>apoStyLEE</dc:creator>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[EncoderParameters]]></category>
		<category><![CDATA[high quality]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[thumbnail]]></category>

		<guid isPermaLink="false">http://www.apostylee.com/?p=741</guid>
		<description><![CDATA[Fotoğrafları direk boyutlandırdığımız zaman ciddi bir kalite kaybı meydana geliyor. CompositingQuality, InterpolationMode veya SmoothingMode değerleriyle oynasakda Photoshop&#8217; un boyutlandırma kalitesine erişemiyoruz. Biraz araştırma yaptıktan sonra EncoderParameters ve ImageCodecInfo ile kalitenin ciddi bir şekilde arttırıldığını gördüm. Sonuç aşağıdaki görselde açık bir şekilde görülebiliyor. Özellikle üzerinde yazı bulunan görsellerde fark daha iyi farkediliyor. Aşağıda ki kodu kullanmak [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Fotoğrafları direk boyutlandırdığımız zaman ciddi bir kalite kaybı meydana geliyor. <a href="http://msdn.microsoft.com/tr-tr/library/system.drawing.drawing2d.compositingquality.aspx" target="_blank">CompositingQuality</a>, <a href="http://www.google.com.tr/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBQQFjAA&amp;url=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fsystem.drawing.drawing2d.interpolationmode.aspx&amp;ei=C25ATMuBJqOTOJ7hhNcM&amp;usg=AFQjCNFWFbbHC9CuitnJgc3LHsNl-mZlSA&amp;sig2=TsPq1d8gEIldkPT3Fuxh8A" target="_blank">InterpolationMode </a>veya <a href="http://www.google.com.tr/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBcQFjAA&amp;url=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fsystem.drawing.graphics.smoothingmode.aspx&amp;ei=GG5ATKSCOsjuOa3yhdcM&amp;usg=AFQjCNG6f2lFZXwHRV2U9MN6dFbSl2FiOw&amp;sig2=d85vWZwjLLmkmuyvoabzHg" target="_blank">SmoothingMode </a>değerleriyle oynasakda Photoshop&#8217; un boyutlandırma kalitesine erişemiyoruz. Biraz araştırma yaptıktan sonra <a href="http://www.google.com.tr/url?sa=t&amp;source=web&amp;cd=2&amp;ved=0CB4QFjAB&amp;url=http%3A%2F%2Fmsdn.microsoft.com%2Fen-us%2Flibrary%2Fsystem.drawing.imaging.encoderparameters.aspx&amp;ei=WW5ATOSbHoraOPbAuIwN&amp;usg=AFQjCNFxHcXRqOipUkt8-uQTmtb_x2lMuw&amp;sig2=g2nJ8hmLIMGJ_xW1uIPohw" target="_blank">EncoderParameters </a>ve <a href="http://www.google.com.tr/url?sa=t&amp;source=web&amp;cd=1&amp;ved=0CBcQFjAA&amp;url=http%3A%2F%2Fmsdn.microsoft.com%2Ftr-tr%2Flibrary%2Fsystem.drawing.imaging.imagecodecinfo.aspx&amp;ei=03BATMDhMYWL4gbJhMXGDg&amp;usg=AFQjCNHNEUgr4TU8WwMVHaPjbfcBYejdtg&amp;sig2=asuRJU_xdeWGTtNfaOjbTQ" target="_blank">ImageCodecInfo </a>ile kalitenin ciddi bir şekilde arttırıldığını gördüm. Sonuç aşağıdaki görselde açık bir şekilde görülebiliyor. Özellikle üzerinde yazı bulunan görsellerde fark daha iyi farkediliyor. Aşağıda ki kodu kullanmak için fileupload nesnenizi methoda göndermeniz yeterli. Örneğin; <strong>fotograf.yukle(FileUpload1); </strong>Şunu da eklemek lazım, kaliteli ve kalitesiz fotoların aralarında neredeyse yarı yarıya boyut farkı bulunuyor.</p>
<p><a href="http://www.apostylee.com/wp-content/uploads/2010/07/fotografkucultme.jpg"><img class="alignnone size-full wp-image-855" title="fotografkucultme" src="http://www.apostylee.com/wp-content/uploads/2010/07/fotografkucultme.jpg" alt="" width="352" height="484" /></a><span id="more-741"></span></p>
<pre class="brush: csharp; title: ; notranslate">
public class fotograf
{
    public static void yukle(FileUpload fu)
    {
        System.Drawing.Image orjinalFoto = null;
        HttpPostedFile jpeg_image_upload = fu.PostedFile;
        orjinalFoto = System.Drawing.Image.FromStream(jpeg_image_upload.InputStream);
        boyutlandir(orjinalFoto, 50, fu.FileName);
    }

    protected static void boyutlandir(System.Drawing.Image orjinalFoto, int boyut, string dosyaAdi)
    {
        System.Drawing.Bitmap islenmisFotograf = null;
        System.Drawing.Graphics grafik = null;

        int hedefGenislik = boyut;
        int hedefYukseklik = boyut;
        int new_width, new_height;

        new_height = (int)Math.Round(((float)orjinalFoto.Height * (float)boyut) / (float)orjinalFoto.Width);
        new_width = hedefGenislik;
        hedefYukseklik = new_height;
        new_width = new_width &gt; hedefGenislik ? hedefGenislik : new_width;
        new_height = new_height &gt; hedefYukseklik ? hedefYukseklik : new_height;

        islenmisFotograf = new System.Drawing.Bitmap(hedefGenislik, hedefYukseklik);
        grafik = System.Drawing.Graphics.FromImage(islenmisFotograf);
        grafik.FillRectangle(new System.Drawing.SolidBrush(System.Drawing.Color.White), new System.Drawing.Rectangle(0, 0, hedefGenislik, hedefYukseklik));
        int paste_x = (hedefGenislik - new_width) / 2;
        int paste_y = (hedefYukseklik - new_height) / 2;

        grafik.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
        grafik.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
        grafik.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

        System.Drawing.Imaging.ImageCodecInfo codec = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()[1];
        System.Drawing.Imaging.EncoderParameters eParams = new System.Drawing.Imaging.EncoderParameters(1);
        eParams.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 95L);

        grafik.DrawImage(orjinalFoto, paste_x, paste_y, new_width, new_height);
        islenmisFotograf.Save(HttpContext.Current.Server.MapPath(&quot;~/&quot; + dosyaAdi), codec, eParams);
    }
}
</pre>
<p>Kodu bir kaç yerden derleyerek yazdım. Bundan dolayı iyi bir kod değil :) Bu arada yeri gelmişken, ilerleyen günlerde kapsamlı bir görsel upload sınıfını sizlerle paylaşacağım.</p>
<div class="shr-publisher-741"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.apostylee.com/asp-net-ile-fotograflari-kaliteli-boyutlandirma/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>jQuery Asp.Net Fotoğraf Kırpmak</title>
		<link>http://www.apostylee.com/asp-net-crop-image/</link>
		<comments>http://www.apostylee.com/asp-net-crop-image/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 12:06:17 +0000</pubDate>
		<dc:creator>apoStyLEE</dc:creator>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[crop]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[photo]]></category>

		<guid isPermaLink="false">http://www.apostylee.com/?p=739</guid>
		<description><![CDATA[Fotoğraf kırpmak (crop) işlemi dışarıdan karışık bir işmiş gibi görünsede esasında çok basit bir işlemdir. Hele ki jCrop diye güzel jquery eklentisi varken bu işlem hem kolay hemde eğlencelidir. Olayın mantığına bakacak olursak, jCrop bizim için resim üzerinde seçtiğimiz kısımın yükseklik, genişlik, x ve y değerlerini alıyor. Sornasın da bu bilgiler eşliğinde orjinal resim üzerinde [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Fotoğraf kırpmak (crop) işlemi dışarıdan karışık bir işmiş gibi görünsede esasında çok basit bir işlemdir. Hele ki <a href="http://deepliquid.com/content/Jcrop.html" target="_blank">jCrop </a>diye güzel jquery eklentisi varken bu işlem hem kolay hemde eğlencelidir. Olayın mantığına bakacak olursak, jCrop bizim için resim üzerinde seçtiğimiz kısımın yükseklik, genişlik, x ve y değerlerini alıyor. Sornasın da bu bilgiler eşliğinde orjinal resim üzerinde kesme işlemini yapıyoruz. Eklentinin bir çok ayarı ve özelliği bulunuyor, bunlara <a href="http://deepliquid.com/content/Jcrop_Manual.html" target="_blank">buradan </a>ulaşabilirsiniz. Az kaldı unutuyordum, projenize jquery.js ve jCrop u eklemeyi unutmayın :)</p>
<p style="text-align: center;"><a href="http://www.apostylee.com/wp-content/uploads/2010/07/imagecrop.jpg"><img class="size-large wp-image-794 aligncenter" title="imagecrop" src="http://www.apostylee.com/wp-content/uploads/2010/07/imagecrop-600x542.jpg" alt="" width="600" height="542" /></a></p>
<p><span id="more-739"></span> <span class="kod">default.aspx</span></p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
		    jQuery(document).ready(function() {
		    jQuery('#cropImage').Jcrop({
		            onSelect: updateCoords
		        });
		    });
		    function updateCoords(c) {
		        jQuery('#X').val(c.x);
		        jQuery('#Y').val(c.y);
		        jQuery('#W').val(c.w);
		        jQuery('#H').val(c.h);
		    };
		&lt;/script&gt;

&lt;body&gt;
    &lt;form id=&quot;form1&quot; runat=&quot;server&quot;&gt;
        &lt;asp:FileUpload ID=&quot;FileUpload1&quot; runat=&quot;server&quot; /&gt;
        &lt;asp:Button ID=&quot;UploadImage&quot; runat=&quot;server&quot; Text=&quot;Upload Image&quot; onclick=&quot;Upload_Click&quot; /&gt;

        &lt;asp:Literal runat=&quot;server&quot; ID=&quot;ltrImage&quot; /&gt;
        &lt;asp:Button ID=&quot;Crop&quot; runat=&quot;server&quot; Text=&quot;Crop Image&quot; onclick=&quot;Crop_Click&quot; Visible=&quot;false&quot; /&gt;

        &lt;!-- hidden fileds --&gt;
        &lt;asp:HiddenField ID=&quot;X&quot; runat=&quot;server&quot; /&gt;
        &lt;asp:HiddenField ID=&quot;Y&quot; runat=&quot;server&quot; /&gt;
        &lt;asp:HiddenField ID=&quot;W&quot; runat=&quot;server&quot; /&gt;
        &lt;asp:HiddenField ID=&quot;H&quot; runat=&quot;server&quot; /&gt;
    &lt;/form&gt;
&lt;/body&gt;
</pre>
<p><span class="kod">default.aspx.cs</span></p>
<pre class="brush: csharp; title: ; notranslate">
    protected void Crop_Click(object sender, EventArgs e)
    {
        int x = Convert.ToInt32(X.Value);
        int y = Convert.ToInt32(Y.Value);
        int w = Convert.ToInt32(W.Value);
        int h = Convert.ToInt32(H.Value);
        string strFileName = Crop.CommandArgument;
        System.Drawing.Image image = Bitmap.FromFile(Server.MapPath(&quot;~/crop/&quot; + strFileName));

        Bitmap bmp = new Bitmap(w, h, image.PixelFormat);
        Graphics g = Graphics.FromImage(bmp);
        g.DrawImage(image, new Rectangle(0, 0, w, h),
        new Rectangle(x, y, w, h), GraphicsUnit.Pixel);

        bmp.Save(HttpContext.Current.Request.PhysicalApplicationPath + &quot;crop/reSize-&quot; + strFileName, image.RawFormat);
        ltrImage.Text = &quot;&lt;img src=\&quot;reSize-&quot; + strFileName + &quot;\&quot; id=\&quot;cropImage\&quot; alt=\&quot;&quot; + strFileName + &quot;\&quot; /&gt;&quot;;
    }

    protected void Upload_Click(object sender, EventArgs e)
    {
        FileUpload1.SaveAs(Server.MapPath(&quot;~/crop/&quot; + FileUpload1.FileName));
        ltrImage.Text = &quot;&lt;img src=\&quot;&quot; + FileUpload1.FileName + &quot;\&quot; id=\&quot;cropImage\&quot; alt=\&quot;&quot; + FileUpload1.FileName + &quot;\&quot; /&gt;&quot;;
        Crop.CommandArgument=FileUpload1.FileName;
        Crop.Visible = true;
    }
</pre>
<p>Çalışan örneğe <span style="color: #ff0000;"><a href="http://jquery.apostylee.com/crop/" target="_blank"><strong>buradan</strong></a> </span>bakabilirsiniz, örneği indirmek için <a href="http://www.jquerydot.net/wp-content/uploads/2010/06/Crop.zip" target="_self"><strong>buraya</strong></a> tıklayabilirsiniz. Herkese iyi çalışmalar..</p>
<div class="shr-publisher-739"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.apostylee.com/asp-net-crop-image/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>LG X300 Hafif Üstü</title>
		<link>http://www.apostylee.com/lg-x300-hafif-ustu/</link>
		<comments>http://www.apostylee.com/lg-x300-hafif-ustu/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 13:41:00 +0000</pubDate>
		<dc:creator>apoStyLEE</dc:creator>
				<category><![CDATA[Teknolojik]]></category>
		<category><![CDATA[dizüstü]]></category>
		<category><![CDATA[fotoğraf]]></category>
		<category><![CDATA[lgx300]]></category>
		<category><![CDATA[notebook]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://lg-x300-hafif-ustu.html</guid>
		<description><![CDATA[Hafif üstü ifadesini çok düşündün mü ? diye soracak olursanız, hayır düşünmedim :) LG X300 11.6 inç bir notebook (dizüstü bilgisayar) ve sadece 970 gram ağırlığında, 17,6mm kalınlığında ! Evet doğru duydunuz 11.6 inç ve üstelik 970 gram !. Bu ölçüler şöyle bir örnek verirsem daha iyi anlaşılır, benim emektar Acer ONE A150L netbook 8,9inç ve 1,26kg ağırlığında. LG, X300 [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><script src="http://video.unrulymedia.com/wildfire_11011845.js" type="text/javascript"></script><br />
Hafif üstü ifadesini çok düşündün mü ? diye soracak olursanız, hayır düşünmedim :) LG X300 11.6 inç bir notebook (dizüstü bilgisayar) ve sadece 970 gram ağırlığında, 17,6mm kalınlığında ! Evet doğru duydunuz 11.6 inç ve üstelik 970 gram !. Bu ölçüler şöyle bir örnek verirsem daha iyi anlaşılır, benim emektar <a href="http://www.apostylee.com/ACER-ASPIRE-ONE-A150L-8.9-inc.html" target="_blank">Acer ONE A150L</a> netbook 8,9inç ve 1,26kg ağırlığında. LG, X300 için çektiği kısa reklam filminde 970gramı çok orjinal bir şekilde gözler önüne seriyor, izlemenizi şiddetle tavsiye ederim. X300&#8242; ün hafif olması sizi aldatmasın, istem özellikleride oldukça güzel. <a href="http://ark.intel.com/Product.aspx?id=40741" target="_blank">Intel Atom Z550</a> işlemci, 2GB bellek, 128GB SSD, Gigabit ethernet, Bluetooth, 3G, Wi-Fi, SRS TruSurround HD ses desteği, 1,3mp kamera, kart okuyucu, 3 adet usb 2.0, 2 hücreli batarya (7 saate kadar kullanım süresi) ve işletim sistemi Windows 7 Home Premium. Görüldüğü üzere herşeyi tam takır bir bilgisayar, tek eksiği ağırlığı :) Ürünün satışa çıkış ve ülkemize geliş tarihleri hakkında henüz bir bilgim yok fakat öğrendiğimde buradan sizlerle paylaşacağım.</p>
<p><img src="http://www.apostylee.com/resimler/digerresimler/lgx300-2.jpg" alt="lg x300" width="600" height="550" /></p>
<p><img src="http://www.apostylee.com/resimler/digerresimler/lgx300.jpg" alt="lg x300 970 gram" width="600" height="550" /></p>
<div class="shr-publisher-230"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://www.apostylee.com/lg-x300-hafif-ustu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->
