Dinamik bir görüntü bir sayfa veya belirli düzen içinde nasıl göründüğünü tanımlamak için bir yolu var mı?

5 Cevap php

Pek çok kez, ben yönetmek görüntü anormal uzun yüksekliği veya genişliği sahip sorunlarla karşılaşmış.

Ben onların yüksekliği ve genişliği sabit, onlar streched görünecektir?

Ben onların genişliği sabit olursa, ve görüntünün yüksekliği çok uzun ise, o zaman da o pisliği genel web sitesi olacak.

Ben kendi yüksekliğini sabit olursa, ve görüntünün genişliği de o karmaşası genel web sitesi çok uzun ise.

The images I save in the local drive are saved maintaining the ratio? Let say user decides to upload image 1(height)*32(width). When he uploads this image, the script is made to resize the user uploaded image to height:1000px(just an example)

Yani 1000px (yükseklik) * 32000 (genişliği) olarak elde edilen görüntü, görüntü anormal büyük olduğunu şimdi anlıyorum.

* 1000px 1000px bir kutu içinde bu görüntüyü gösterirken, şimdi bu görüntüyü göstermek için en iyi yolu nedir?

5 Cevap

Eğer bir 1000x1000 kutusu dahilinde çok 32x1 görüntüyü yeniden boyutlandırmak için çalışıyorsanız, 1000 olmak üzere yükseklik boyutlandırma olmamalıdır. Bunun yerine, 1000-1032 1000 için genişlik ve yüksekliğini değiştirmek gerekir.

Bazı örnek kod olabilir:

define(MAX_WIDTH, 1000);
define(MAX_HEIGHT, 1000);

if ($cur_width / MAX_WIDTH > $cur_height / MAX_HEIGHT)
{
   $new_width = MAX_WIDTH;
   $new_height = (int) ($cur_height * MAX_WIDTH / $cur_width);
}
else
{
   $new_width = (int) ($cur_width * MAX_HEIGHT / $cur_height);
   $new_height = MAX_HEIGHT;
}

Bu kontroller boyutları hangi kutusunun boyutlarına "büyük" göreceli ve $ new_width $ ve uygun new_height ayarlar. Boyutlardan biri (yani bir 10000x1 görüntü muhtemelen 1000x0 olarak sona ereceğini) 0'a aşağı yuvarlanır alır garip davalarını emin olun.

Ben doğru anlamak Eğer oranını tutmak istiyorum. Peki neden yükseklik veya genişlik üzerinde görüntüyü büyütmek için bazı görüntü kütüphane kullanımı ve oranını tutmuyorum.

Ben onların yüksekliği ve genişliği sabit, onlar streched görünecektir?

Onlar oranını değiştirirseniz bozuk ve boyutunu değiştirmek eğer gergin olacak.

Ben onların genişliği sabit olursa, ve görüntünün yüksekliği çok uzun ise, o zaman da o pisliği genel web sitesi olacak.

Görüntü kendi orijinal xy oranı tutmak, dönüşebilecek. Bu "web sitesi haberci" olsun veya olmasın koşullara bağlıdır.

Ben kendi yüksekliğini sabit olursa, ve görüntünün genişliği de o karmaşası genel web sitesi çok uzun ise.

Aynen

Bu nasıl düzeltmek için en iyi yolu nedir?

Bu görüntülerin amacı ne azından biri, bir dizi faktöre bağlıdır. Evet, biz tekrar tekrar bağlamda döndük.

Ben size ulaşmak için çalışıyoruz ne hakkında bazı varsayımlarda yaparsanız, aslında iki seçeneğiniz var:

  • (Muhtemelen ölçeklendirmeden sonra) görüntü kırpma
  • Görüntünün xy oranını hesaplamak, sen (boy oranını koruyarak) boşluk veya yüksekliğinin genişliğine göre ölçekleme hakkında bir karar yapmak için kullanabilirsiniz, bunu koymak istediğiniz alanı xy oranını karşılaştırın alanı.

Ne belirli bir dikdörtgen içinde çıkış görüntü (boy oranı tutmak) sığdırıyorum hakkında?

Sen bir div kullanabilirsiniz overflow: hidden;.