İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

ekran boyutuna göre resim değişimi

cokyakinda

0
İyinet Üyesi
Katılım
19 Haziran 2012
Mesajlar
10
Reaction score
0
istediğim kod:
1280 × 1024 ekran boyutuna sahip birisi siteye girdiği zaman hostta olan, 1280 × 1024 boyutunda arka plan resmi göstermesi.

2.olarakta 1600 × 1200 ekran boyutuna sahip biri girdiğinde aynı şekilde site ekran çözünürlüğünü algılayıp hosttaki 1600 × 1200.png yi arka plan yapmasını istiyorum bunun kodu varmı php den pek anlamıyorum ama en uygun burası diye düşündüm
 

Utip

0
İyinet Üyesi
Katılım
3 Nisan 2012
Mesajlar
94
Reaction score
0
Merak ettim ve ufaktan bir araştırdım. Bu işi javascript yapıyormuş.
Aşağıdaki kodu bir php dosyasına atıp deneyebilirsin.


<script language="javascript">
if (window.location.search == "") {
window.location.href = window.location + "?width=" + screen.width + "&height=" + screen.height;
}
</script>

Sayfayı tekrar refresh etmen gerekiyor mu, yoksa ilk seferde yazıyor mu tam bilmiyorum denersin.

<?php
$width = $_GET['width'];
$height = $_GET['height'];

echo "kullanılan ekran boyutu".$width." X ".$height." boyutundadır";
// And set them into cookies as well.
?>

Öncelike araya yazdığım yazının da dahil olduğunu, eşantiyon olduğunu belirtmek isterim :) Hiç php bilgin yoksa, hosttaki resimlerini nasıl phpdeki verilerle beraber kullanabilirsin o konuda da yardımcı olurum.
 

cokyakinda

0
İyinet Üyesi
Katılım
19 Haziran 2012
Mesajlar
10
Reaction score
0
teşekkürler ama tek sorun işte istediğim kod bunun %50 si geriye kalan tek şey ölçüyü aldıktan sonra arka plan resminin değişmesi. eğer yardımcı olursanız sevinirim
 

Utip

0
İyinet Üyesi
Katılım
3 Nisan 2012
Mesajlar
94
Reaction score
0
Çözünürlük konusunda bir standart olmadığı için tam verim almak zor olsa da az çok iş görecek bir şey yapmak mümkün.
 

Utip

0
İyinet Üyesi
Katılım
3 Nisan 2012
Mesajlar
94
Reaction score
0
arkafon####x###.jpg

# olan yerlere ekranın eni ve boyu arada da x gelecek şekilde bir kaç resim belirlersen. Aşağıdaki kod işini görür. Elindeki resimleştirmediğin ekran çözünürlükleri içinde sadece bir tane resim belirledim. Kayıtlı olmayan ekran çözünürlüklerinde sorun çıkarır sadece.


<script language="javascript">
if (window.location.search == "") {
window.location.href = window.location + "?width=" + screen.width + "&height=" + screen.height;
}
</script>


<?php
$width = $_GET['width'];
$height = $_GET['height'];

//resimlerin jpg değilse aşağıdakini değiştir. resimin aynı dizinde olduğunu düşünerek yazdım dizini de ayarlayabilirsin.
$dizin="./";
$dosya = $dizin."arkafon".$width."x".$height.".jpg";

//created by Utip


if (file_exists($dosya)) {
?>
<body background="<?echo $dosya;?>">
</body>
<?
} else {
//kayıtlılarda yoksa elle istediğini belirlersin.
?>
<body background="<?echo $dizin."arkafon1280x1024.jpg";?>">
</body>
<?
}
?>
 

cokyakinda

0
İyinet Üyesi
Katılım
19 Haziran 2012
Mesajlar
10
Reaction score
0
Hms...

Öncelikle şunu belirteyim bu komutlardan herhangi biri sorun çıkarır mı hiç bilmem ama, bazı komutlar ille de headerda çalışırım, illede html açılmadan olsun diyebilir o yüzden bir kere boş bir dosyada dene. Bu güne kadar hiç html'ye girmeden bir komutun sorun çıkarığını görmedim. Çalışırsa ve senin sitenin istediğin yerinde çalışmazsa ben buradayım.

<script language="javascript">
if (window.location.search == "") {
window.location.href = window.location + "?width=" + screen.width + "&height=" + screen.height;
}
</script>


<?php
$width = $_GET['width'];
$height = $_GET['height'];

//created by Utip
//düşündüğün en küçük resim boyutu

if ($width>1024 and $height>768)
{

if ($width>1280 and $height>1024)
{
?>
<body background="arkafon1600x1200.jpg">
</body>
<?
}else
{
?>
<body background="arkafon1280x1024.jpg">
</body>
<?
}
}else
{
?>
<body background="arkafon1024x768.jpg">
</body>
<?
}
?>

kalın olan yeri tam anlayamadım yani ekranın ölçüsünü otomatik alıyor ve otomatik hosttaki resmi ekran boyutuna göre değiştiriyor ama burada 1 diye birşey yok yani hangisi hangisine uyuyor onu anlamadım. dediğim gibi php den javadan hiç anlamıyorum kullanımını kolay bir şekilde anlatablirsen sevinirim kardeş
 

Utip

0
İyinet Üyesi
Katılım
3 Nisan 2012
Mesajlar
94
Reaction score
0
kalın olan yeri tam anlayamadım yani ekranın ölçüsünü otomatik alıyor ve otomatik hosttaki resmi ekran boyutuna göre değiştiriyor ama burada 1 diye birşey yok yani hangisi hangisine uyuyor onu anlamadım. dediğim gibi php den javadan hiç anlamıyorum kullanımını kolay bir şekilde anlatablirsen sevinirim kardeş

Senin soruna cevap verirken bir yandan da bir resmi parçalayıp bölüp işlem yapıyordum. Biraz ikisi birbirine karıştı bende. Sonra yeni bir tane yazdım daha sade, daha anlaşılır. Kafa karıştırmasın diye de silmiştim ilkini. Virgülünde noktalıvirgülünde bir hata yoksa sağlam çalışması lazım.

Aslında çok büyük bir resim ekleyip, hiç kayıtlı olmayan bir çözünürlük gelirse de " vay be böyle bir çözünürlük te varmıymış diyerek" o büyük resimden kırpıp, bir daha gelirlerse görüntülemek üzere hostuna da kayıt yapan program da yazılabilir... ... ... ... ...
 

cokyakinda

0
İyinet Üyesi
Katılım
19 Haziran 2012
Mesajlar
10
Reaction score
0
kayıtlı olmayan değilde genel kullanılan tüm boyutlara göre arka plan resmi ayarlıcam tek tek. leptop ekranı, lcd ekranlar dahil. bunun javası yapılabilir ama paralı yaparlar sanırsam. 2.yolumuz şu olur arka planı tek tek ayrıntılı yapıcaz ozaman bi java yada html kodu vardı tam hatırlamıyorum ama internet penceresini küçültünce yazılar videolarda küçülüyordu o an, onun kodunu biliyormusunuz acaba.
 

metadige

0
İyinet Üyesi
Katılım
23 Aralık 2005
Mesajlar
354
Reaction score
4
arkadaşım php ye gerek yok bunun için javascript ile yapabilirsin basitçe:

PHP:
<html>
<head></head>
<body>
<div id="bgdiv" style="width:100%;height:100%"></div>
<script language="javascript">
var w = screen.width;
if(w==1920) document.getElementById("bgdiv").style.background = "url(1920x1080.png) center center no-repeat";//1920*1080
else if(w==1600) document.getElementById("bgdiv").style.background = "url(1600x1200.png) center center no-repeat";//1600*1200
else if(w==1280) document.getElementById("bgdiv").style.background = "url(1280x1024.png) center center no-repeat";//1280*1024
/* istediğin kadar arttır */
else document.getElementById("bgdiv").style.background = "url(1280x1024.png) center center no-repeat";//1280*1024

</script>
</body>
</html>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst