दिलचस्प पोस्ट
PHP के साथ HTTP कैश हेडर का उपयोग कैसे करें क्या मैं Pool.imap नामक किसी फ़ंक्शन में एक बहुसंपादक कतार का उपयोग कर सकता हूं? जीएनयू प्लॉट में रेखा की साजिश है, जहां रेखा रंग मेरे डेटा फ़ाइल में एक तीसरा स्तंभ है? डायनेमिक कंट्रोल ग्रुप और चेकबॉक्स अनस्टिल्ड लूप के लिए सूची प्रविष्टियों को कैसे संशोधित करें? एक्सएमएल पाथ ('') के लिए: "विशेष" वर्णों से बचने क्या pthread_exit को मुख्य से कॉल करना ठीक है? ऑटो कोड में अमान्य पुनर्वितरण NSManagedObject उपवर्ग स्विफ्ट 3 उत्पन्न करता है एनजी 2-बूटस्ट्रैप बाल घटक के रूप में मॉडल / छुपाएं एंड्रॉइड एल त्रुटि पर एक देशी लाइब्रेरी चलाना: केवल स्थिति स्वतंत्र निष्पादनयोग्य (पीआईई) समर्थित हैं कैसे जेड टेम्पलेट फ़ाइल से एक स्क्रिप्ट फाइल में चर पारित करने के लिए? मैं jQuery UI Datepicker को स्थानीयकृत कैसे करूं? एप्लिकेशन के इस संस्करण को Google Play के माध्यम से बिलिंग के लिए कॉन्फ़िगर नहीं किया गया है विंडोज फॉर्म के साथ एमवीसी लागू करना एचटीटीपी के माध्यम से .htaccess के माध्यम से

कैसे स्वचालित रूप से फसल और एक छवि केंद्र केंद्रित करने के लिए

किसी भी मनमानी छवि को देखते हुए, मैं छवि के केंद्र से एक वर्ग को फसल करना चाहता हूं और उसे किसी दिए गए वर्ग के भीतर प्रदर्शित करना चाहता हूं।

यह प्रश्न इसके समान है: सीएसएस एक छवि का आकार बदल गया और क्रॉप किया गया , लेकिन मैं छवि के आकार को नहीं जानता इसलिए मैं सेट हाशिएन्स का उपयोग नहीं कर सकता

Solutions Collecting From Web of "कैसे स्वचालित रूप से फसल और एक छवि केंद्र केंद्रित करने के लिए"

एक समाधान एक पृष्ठभूमि छवि का उपयोग करने के लिए है जो कि एक आयाम के भीतर केंद्रित है, जो कि क्रॉप आयामों के आकार में है।


मूल उदाहरण

.center-cropped { width: 100px; height: 100px; background-position: center center; background-repeat: no-repeat; } 
 <div class="center-cropped" style="background-image: url('http://placehold.it/200x200');"> </div> 

मैं एक शुद्ध सीएसएस समाधान के लिए img टैग (पृष्ठभूमि छवि रास्ता नहीं) का उपयोग कर देख रहा था।

मुझे http://jonathannicol.com/blog/2014/06/16/centre-crop-thumbnails-with-css/ पर लक्ष्य प्राप्त करने का यह शानदार तरीका मिला:

 .thumbnail { position: relative; width: 200px; height: 200px; overflow: hidden; } .thumbnail img { position: absolute; left: 50%; top: 50%; height: 100%; width: auto; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); } .thumbnail img.portrait { width: 100%; height: auto; } 

यह @ नाथन रेडब्लूर के उत्तर के समान है लेकिन यह चित्र चित्रों के लिए भी अनुमति देता है

मेरे लिए आकर्षण की तरह काम करता है छवि के बारे में जानने की एकमात्र चीज़ यह है कि क्या यह पोर्ट्रेट या परिदृश्य है। पोर्ट्रेट वर्ग को सेट करने के लिए इसलिए मुझे इस हिस्से के लिए जावास्क्रिप्ट का थोड़ा सा इस्तेमाल करना पड़ा।

उदाहरण के साथ img टैग लेकिन background-image बिना

यह समाधान img टैग को बरकरार रखता है ताकि हम छवि को सहेजने के लिए खींचें या राइट-क्लिक करने की क्षमता खो बैठें, लेकिन background-image बिना सिर्फ सीएसएस के साथ केंद्र और फसल।

बहुत ही हल्के चित्रों के अलावा पहलू अनुपात ठीक बनाए रखें (लिंक की जांच करें)

(कार्रवाई में देखें)

मार्कअप

 <div class="center-cropped"> <img src="http://placehold.it/200x150" alt="" /> </div> 

सीएसएस

 div.center-cropped { width: 100px; height: 100px; overflow:hidden; } div.center-cropped img { height: 100%; min-width: 100%; left: 50%; position: relative; transform: translateX(-50%); } 

इसे आज़माएं: अपनी छवि क्रॉप आयाम सेट करें और अपने सीएसएस में इस रेखा का प्रयोग करें:

 object-fit: cover; 

मैंने @ Russ और @ एलेक्स के उत्तरों का उपयोग करके एक कोणीय निर्देश निर्देश बनाया

2014 और उससे आगे में दिलचस्प हो सकता है: पी

एचटीएमएल

 <div ng-app="croppy"> <cropped-image src="http://placehold.it/200x200" width="100" height="100"></cropped-image> </div> 

js

 angular.module('croppy', []) .directive('croppedImage', function () { return { restrict: "E", replace: true, template: "<div class='center-cropped'></div>", link: function(scope, element, attrs) { var width = attrs.width; var height = attrs.height; element.css('width', width + "px"); element.css('height', height + "px"); element.css('backgroundPosition', 'center center'); element.css('backgroundRepeat', 'no-repeat'); element.css('backgroundImage', "url('" + attrs.src + "')"); } } }); 

बेला लिंक

इसे इस्तेमाल करे:

 #yourElementId { background: url(yourImageLocation.jpg) no-repeat center center; width: 100px; height: 100px; } 

ध्यान रखें कि width और height केवल तभी काम करेगी यदि आपके DOM तत्व का लेआउट है (एक ब्लॉक प्रदर्शित तत्व, जैसे एक div या img )। यदि ऐसा नहीं है (उदाहरण के लिए, एक अवधि), तो display: block; जोड़ें display: block; सीएसएस नियमों के लिए यदि आपके पास सीएसएस फ़ाइलों तक पहुंच नहीं है, तो तत्वों में शैलियों की इनलाइन ड्रॉप करें।

एक और तरीका है जिससे आप छवि को केंद्रित कर सकते हैं:

 .thumbnail{position: relative; overflow: hidden; width: 320px; height: 640px;} .thumbnail img{ position: absolute; top: -999px; bottom: -999px; left: -999px; right: -999px; width: auto !important; height: 100% !important; margin: auto; } .thumbnail img.vertical{width: 100% !important; height: auto !important;} 

आपको केवल एक चीज की जरूरत है, ऊर्ध्वाधर छवियों के लिए "ऊर्ध्वाधर" वर्ग को जोड़ना है, आप इसे इस कोड के साथ कर सकते हैं:

 jQuery(function($) { $('img').one('load', function () { var $img = $(this); var tempImage1 = new Image(); tempImage1.src = $img.attr('src'); tempImage1.onload = function() { var ratio = tempImage1.width / tempImage1.height; if(!isNaN(ratio) && ratio < 1) $img.addClass('vertical'); } }).each(function () { if (this.complete) $(this).load(); }); }); 

नोट: "महत्वपूर्ण" का उपयोग आईएमजी टैग पर संभावित चौड़ाई, ऊँचाई विशेषताओं को ओवरराइड करने के लिए किया जाता है।