<?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>Fatih Hayrioğlu&#039;nun not defteri &#187; resim</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/resim/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fatihhayrioglu.com</link>
	<description>{ CSS, HTML ve Javascript }</description>
	<lastBuildDate>Thu, 09 Feb 2012 08:44:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=2012</generator>
		<item>
		<title>Önden Resimleri(Preloading images) Yükleme Yöntemleri</title>
		<link>http://www.fatihhayrioglu.com/onden-resimleripreloading-images-yukleme-yontemleri/</link>
		<comments>http://www.fatihhayrioglu.com/onden-resimleripreloading-images-yukleme-yontemleri/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 20:44:19 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[önyükleme]]></category>
		<category><![CDATA[performans]]></category>
		<category><![CDATA[resim]]></category>
		<category><![CDATA[web site hızlandırma]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=1822</guid>
		<description><![CDATA[Web sitelerimizi hızlandırmak için çeşitli yöntemler ve metotlar deneriz. Amacımız kullanıcıya daha hızlı cevap vermektir. Bunlardan bir tanesi önden resimleri kullanıcı bilgisayarına yükletip sonra açılacak sayfaların hızlı açılmasını sağlamak gibi bir amacımız olduğu durumlardır. Rollover resimleri, araç ipucu(tooltip), background resimleri vb. resimleri önceden yükletmek bize hem sayfa ilk açıldığında kötü görüntüyü engellememizi sağlar hemde kullanıcıya [...]]]></description>
			<content:encoded><![CDATA[<p>Web sitelerimizi hızlandırmak için çeşitli yöntemler ve metotlar deneriz. Amacımız kullanıcıya daha hızlı cevap vermektir. Bunlardan bir tanesi önden resimleri kullanıcı bilgisayarına yükletip sonra açılacak sayfaların hızlı açılmasını sağlamak gibi bir amacımız olduğu durumlardır. Rollover resimleri, araç ipucu(tooltip), background resimleri vb. resimleri önceden yükletmek bize hem sayfa ilk açıldığında kötü görüntüyü engellememizi sağlar hemde kullanıcıya daha sonraki tercihlerinde daha hızlı cevap vermemizi sağlar.</p>
<p>Ben genelde daha önce kullanmadığım metotları kullanmadan önce bir araştırma yaparım ve sonuçta bana göre iyi olan yöntemi uygularım. Web ajanslarında çalışırken bu araştırmayı kısa tutmam gerekirken tek bir proje geliştirirken bu iş için daha uzun zamanımız oluyor. </p>
<p>Bu işi çin CSS, javascript ve ajax ile çözümler mevcut. </p>
<p>Ben bu yöntemlerden javascript yöntemi ile yapmayı tercih ettim. Diğer yöntemler hakkında genel bir bilgi verip geçeceğim. </p>
<p><strong>CSS Yöntemleri</strong></p>
<p>CSS Sprite yöntemide bu kategoriye girer. </p>
<p>CSS yöntemleri genelde sayfa içine konulan resimlerin tarayıcı görüntüsünden kaçırılması ile yapılan yöntemlerdir ki işin bu kısmı benim hoşuma gitmiyor. </p>
<p>CSS ile bu işi yapan bir örnek verelim. </p>
<pre class="brush: css; title: ; notranslate">
div#preloaded-images {
   position: absolute;
   overflow: hidden;
   left: -9999px;
   top: -9999px;
   height: 1px;
   width: 1px;
}
</pre>
<p>HTML kodu</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;preloaded-images&quot;&gt;
 &lt;img src=&quot;http://deneme.com/image-01.png&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;Image 01&quot; /&gt;
 &lt;img src=&quot;http://deneme.com/image-02.png&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;Image 02&quot; /&gt;
 &lt;img src=&quot;http://deneme.com/image-03.png&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;Image 03&quot; /&gt;
&lt;/div&gt;
</pre>
<p>Yukarıda görüldüğü gibi html içine eklenen resimler CSS yardımı ile kullanıcının göremeyeceği bölgelere itilmiştir. Bu şekilde bir çözüm üretilmiştir.</p>
<p><strong>Javascript Yöntemleri</strong></p>
<p>Javascript ile yapılan yöntemlerin genel yapısı bir sıraya sokulan resimler dinamik olarak doküman içine eklenir. </p>
<p>Javascript ile bu işlemi yapan çeşitli kodlar var. Benim uyguladığım ise aşağıdaki koddur. Bu kodun diğerlerine göre avantajı yükleme yaptığımız sayfanın yüklenmesi bittikten sonra bizim önden yükleme yaptığımız resimleri yüklemesidir. </p>
<pre class="brush: jscript; title: ; notranslate">
function preloader() {
  if (document.images) {
    var img1 = new Image();
    var img2 = new Image();
    var img3 = new Image();

    img1.src = &quot;http://domain.tld/path/to/image-001.gif&quot;;
    img2.src = &quot;http://domain.tld/path/to/image-002.gif&quot;;
    img3.src = &quot;http://domain.tld/path/to/image-003.gif&quot;;
  }
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
    if (oldonload) {
      oldonload();
    }
    func();
    }
  }
}
addLoadEvent(preloader);
</pre>
<p>Yukarıdaki javascript kodu işimizi görecektir. </p>
<p>jQuery ile daha kısa ve basit bir kod ile bu işi yapabiliriz.</p>
<pre class="brush: jscript; title: ; notranslate">
// resim onyükleme fonksiyonu
 jQuery.preloadImages = function()
 {
   for(var i = 0; i&lt;arguments.length; i++)
   {
   jQuery(&quot;&lt;img&gt;&quot;).attr(&quot;src&quot;, arguments[i]);
   }
 };

// yükleme yap
 $.preloadImages(&quot;images/dexter.jpg&quot;, &quot;images/saydam_ardalan1.gif&quot;, &quot;images/ornek_sayfa.jpg&quot;);
</pre>
<p><a href="http://www.fatihhayrioglu.com/wp-content/resim_on_yukleme_jquery.gif"><img src="http://www.fatihhayrioglu.com/wp-content/resim_on_yukleme_jquery-300x195.gif" alt="" title="resim_on_yukleme_jquery" width="300" height="195" class="alignnone size-medium wp-image-1824" /></a></p>
<p>Yukarıdaki kodu yazınca yükleme yaptığımız sayfadaki öğeler yüklenirken yükleme yaptığımız resimlerde yüklenir. Bu benim istediğim bir durum değildir. Bence yükleme yapılacak sayfanın öğeleri yüklendikten sonra yüklenecek resimler yüklenmelidir. Kullanıcı ilk önce mevcut sayfayı tam görmelidir, sonra kullanıcıya göstermeden diğer sayfa resimlerini yüklemeliyiz.</p>
<p>Bunun için kodumuzu aşağıdaki değiştirmeliyiz.</p>
<pre class="brush: jscript; title: ; notranslate">
 $(document).ready(function() {
 $(window).bind('load', function()
 {

   // resim onyükleme fonksiyonu
   jQuery.preloadImages = function()
   {
   for(var i = 0; i&lt;arguments.length; i++)
   {
     jQuery(&quot;&lt;img&gt;&quot;).attr(&quot;src&quot;, arguments[i]);
   }
   };

   // yükleme yap
   $.preloadImages(&quot;images/dexter.jpg&quot;, &quot;images/saydam_ardalan1.gif&quot;, &quot;images/ornek_sayfa.jpg&quot;);

 });
});
</pre>
<p>Eklediğimiz sadece $(window).bind(&lsquo;load&rsquo; function()) kısmıdır. Burada sayfa yüklendikten sonra bu işlemi yap diyoruz.</p>
<p>Örneği görmek için <a href="http://fatihhayrioglu.com/dokumanlar/onyukleme.html">tıklayınız.</a> </p>
<p><a href="http://www.fatihhayrioglu.com/wp-content/resim_on_yukleme_jquery2.gif"><img src="http://www.fatihhayrioglu.com/wp-content/resim_on_yukleme_jquery2-300x194.gif" alt="" title="resim_on_yukleme_jquery2" width="300" height="194" class="alignnone size-medium wp-image-1825" /></a></p>
<p>Örneklerde dikkatiniz bir yere çekmek istiyorum. Firebug Net sekmesini açtım çünkü sayfa yüklenmesi anını görmenizi istedim. İlk resimde sayfa yüklenirken sonradan görüntüleyeceğimiz resimleride içeren bir durum söz konusu idi. Dikkat ederseniz ilk reismde dikey kırmızı çizgi en sondadır. İkinci resimde ise kırmızı dikey çizgi sayfa öğelerini sonuncusu olan resimden sonra çizilmiştir, daha sonra yükleme yapılan resimler yüklenmiştir.</p>
<h3>Sonuç</h3>
<p>Ben küçük bir araştırma sonucunda bu kodu kullanmayı uygun buldum. Bulduğum bu kodun kendimce gerekçelerini yukarıda açıklamaya çalıştım, eğer sizlerin daha iyi çözümleri ve önerileri varsa yorum kısmında bizlerle paylaşırsanız sevinirim.</p>
<p>Kalın sağlıacakla</p>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://perishablepress.com/press/2009/12/28/3-ways-preload-images-css-javascript-ajax/">http://perishablepress.com/press/2009/12/28/3-ways-preload-images-css-javascript-ajax/</a></li>
<li><a href="http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript">http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript</a></li>
<li><a href="http://elouai.com/javascript-preload-images.php">http://elouai.com/javascript-preload-images.php</a></li>
<li><a href="http://www.javascriptkit.com/script/script2/preloadimage.shtml">http://www.javascriptkit.com/script/script2/preloadimage.shtml</a></li>
<li><a href="http://stackoverflow.com/questions/761263/what-is-the-best-way-to-preload-multiple-images-in-javascript/761332">http://stackoverflow.com/questions/761263/what-is-the-best-way-to-preload-multiple-images-in-javascript/761332</a></li>
<li><a href="http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/">http://www.filamentgroup.com/lab/update_automatically_preload_images_from_css_with_jquery/</a></li>
<li><a href="http://snipplr.com/view.php?codeview&amp;id=9612">http://snipplr.com/view.php?codeview&amp;id=9612</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/onden-resimleripreloading-images-yukleme-yontemleri/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>CSS ile Basit Şekilde Fare Üzerine Gelince(Rollover) Resim Değişimi Yapmak</title>
		<link>http://www.fatihhayrioglu.com/css-ile-basit-sekilde-fare-uzerine-gelincerollover-resim-degisimi-yapmak/</link>
		<comments>http://www.fatihhayrioglu.com/css-ile-basit-sekilde-fare-uzerine-gelincerollover-resim-degisimi-yapmak/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 08:48:42 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[fare üzerine gelince]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[resim]]></category>
		<category><![CDATA[rollover]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=758</guid>
		<description><![CDATA[Daha önce bu konuya Resimli Menüler kısmında anlatmıştım, ama orada yapı daha karışık olduğu için anlaşılması ve basit uygulamalara uyarlanması konusunda sıkıntılar oluyordu. Bu işi daha basit bir örnek yardımı ile yapıp daha anlaşılır yapmak için beraber bir örnek yapalım. Tek resimde işi halletmemiz, resmin sayfa yüklenmesinden önce yüklenmesi sebebiyle fare üzerine geldiğinde herhangi bir [...]]]></description>
			<content:encoded><![CDATA[<p>Daha önce bu konuya <a title="Resimli Menüler" href="http://www.fatihhayrioglu.com/css-ile-menu-olusturmak-v-resimli-menuler" >Resimli Menüler</a> kısmında anlatmıştım, ama orada yapı daha karışık olduğu için  anlaşılması ve basit uygulamalara uyarlanması konusunda sıkıntılar  oluyordu. Bu işi daha basit bir örnek yardımı ile yapıp daha anlaşılır  yapmak için beraber bir örnek yapalım.</p>
<p>Tek resimde işi  halletmemiz, resmin sayfa yüklenmesinden önce yüklenmesi sebebiyle fare  üzerine geldiğinde herhangi bir resim yükleme işlemini beklemediğimiz  için daha akıcı olduğu gibi avantajlarını olduğunu daha önce  anlatmıştık.</p>
<p>İlk olarak fare imlecinin üzerine geldiğinde  değişecek resmin her iki hali yanyana gelecek şekilde yan yana veya alt  alta gelecek şekilde tek resim olarak hazırlıyoruz(aradaki çizgiyi iki  resim arasındaki ayrımı göstermek için koydum, normal resimde bu  olmayacak)</p>
<p><img src="/images/mak_degisen_resim.gif" alt="anasayfaya dön"></p>
<p>Xhtml kodumuzu yazalım</p>
<pre class="brush: xml; title: ; notranslate">&lt;a class=&quot;anasayfayaDon&quot; href=&quot;anasayfa.htm&quot;&gt;Ana Sayfaya Dön&lt;/a&gt;</pre>
<p>CSS kodumuzu yazalım</p>
<pre class="brush: css; title: ; notranslate">a.anasayfayaDon {
    display: block;
    width: 80px;
    height: 80px;
    background: url(images/degisen_resim.gif) 0 0 no-repeat;
    text-decoration: none;
    text-indent:-999px;
}

a:hover.anasayfayaDon {
    background-position: -80px 0;
}</pre>
<p>Yöntemi  daha önce anlattığımız gibi ardalan kaydırmaca yöntemidir.  Hazırladığımız ardalan resminin ilk olarak istediğimiz kısmını  gösteriyoruz. Fare imleci üzerine geldiğinde ise yatayda aynı eksende  bulunan başlangıçta görünmeyen resmi eksi konum vererek gösteriyoruz.</p>
<p>Örnek sayfayı görmek için <a href="/dokumanlar/fare_degisen_resim.html">tıklayınız</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/css-ile-basit-sekilde-fare-uzerine-gelincerollover-resim-degisimi-yapmak/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>ipucu &#8211; video&#8217;dan ekran görüntüsü alma</title>
		<link>http://www.fatihhayrioglu.com/ipucu-videodan-ekran-goruntusu-alma/</link>
		<comments>http://www.fatihhayrioglu.com/ipucu-videodan-ekran-goruntusu-alma/#comments</comments>
		<pubDate>Sun, 19 Nov 2006 13:49:53 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[printscreen]]></category>
		<category><![CDATA[resim]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=219</guid>
		<description><![CDATA[Ben bu iş(video&#8217;dan ekran görüntüsü almak) için hep program kullanmayı yeğlerdim ancak hiç program gerektirmeden de yapıldığını öğrendim. 1.Masaüstüne gelin : sağtuşa tıklayın > properties > Settings > advanced > trouble shooting > hardware accel: none. 2.print screen tuşuna basın 3.resim programına gelip yapıştırın. Bu kadar. Sonra aynı şekilde sistemi eski haline alın.]]></description>
			<content:encoded><![CDATA[<p>Ben bu iş(video&#8217;dan ekran görüntüsü almak) için hep program kullanmayı yeğlerdim ancak hiç program gerektirmeden de yapıldığını öğrendim.</p>
<p>1.Masaüstüne gelin : sağtuşa tıklayın > properties > Settings > advanced > trouble shooting > hardware accel: none.</p>
<p>2.print screen tuşuna basın</p>
<p>3.resim programına gelip yapıştırın.</p>
<p>Bu kadar. Sonra aynı şekilde sistemi eski haline alın.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/ipucu-videodan-ekran-goruntusu-alma/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

