จะป้องกัน Chrome จากการเบลอภาพขนาดเล็กเมื่อซูมเข้าได้อย่างไร?


13

เมื่อฉันพยายามที่จะดูภาพพิกเซลอย่างใกล้ชิดโครเมี่ยมเริ่มเบลอภาพ ฉันต้องการทำให้มันเป็นแบบนั้นถึงแม้เมื่อซูมเข้ามาฉันก็ยังสามารถเห็นพิกเซลในรายละเอียดที่คมชัดไม่ใช่เบลอ


1
ในขณะนี้ฉันไม่คิดว่าคุณสามารถปิดการใช้งานอัลกอริทึมการปรับให้เรียบซึ่ง chrome ใช้ซึ่งทำให้ขอบของรูปภาพราบรื่นขึ้นเมื่อคุณซูมเข้าไป ถ้าไม่มีส่วนขยายที่ทำเช่นนั้นหรือมีคนรู้สิ่งที่ฉันยังไม่รู้อยู่
DuckDuckGoose

การซูมหมายความว่า ctrl / cmd และ + หรือไม่
booyaa

@ booyas ใช่นั่นคือสิ่งที่ฉันหมายถึง
ใบพัด

1
สิ่งที่มีการปรับปรุงให้ดีขึ้นในขณะนี้นี้เป็นที่ซ้ำกันเป็นไปได้ของstackoverflow.com/questions/7615009/... โดยเฉพาะอย่างยิ่งดูคำตอบของ namuol และ jsfiddle ที่jsfiddle.net/namuol/VAXrL/1459ซึ่งแสดงให้เห็นถึงสิ่งที่ฉันคิดว่าคุณต้องการ TL; DR สำหรับโครเมี่ยม: "การแสดงผลภาพ: พิกเซล;" บน img และองค์ประกอบผ้าใบ
Don Hatch

ไม่ใช่คำถามของคุณ แต่เป็นไปได้หรือไม่ที่จะจัดเก็บภาพด้วยคุณภาพที่สูงขึ้นอย่างน้อยที่สุดแล้วการซูมจะใช้รายละเอียดพิเศษหรือไม่
Xonatron

คำตอบ:


16

ปรับปรุง

ตามความเห็น:

ตอนนี้สามารถทำได้ใน Firefox: image-rendering: optimizationSpeed; - Arnaud

เป็นต้นฉบับ

ไม่สามารถทำได้โดยตรงจากเบราว์เซอร์

การปรับให้เรียบนั้นใช้ผ่านอัลกอริธึมและเบราว์เซอร์สมัยใหม่ส่วนใหญ่จะคล้ายกันและใน IE, Firefox และ Chrome ไม่มีวิธีใดที่จะปิดการใช้งานได้

http://productforums.google.com/forum/#!topic/chrome/AIihdmfPNvE

คุณมีตัวเลือกอื่น ๆ ต่อไปนี้เป็น 2 ประเด็นหลักจากลิงก์ด้านบนทั้งสองเป็นส่วนเสริมของ Chrome

image-resizer
imagezoom

คุณสามารถใช้รหัส CSS ด้านล่างในเบราว์เซอร์ซึ่งจะปิด!

img { 
    image-rendering: optimizeSpeed;             /*                     */
    image-rendering: -moz-crisp-edges;          /* Firefox             */
    image-rendering: -o-crisp-edges;            /* Opera               */
    image-rendering: -webkit-optimize-contrast; /* Chrome (and Safari) */
    image-rendering: pixelated;                 /* Chrome as of 2019   */
    image-rendering: optimize-contrast;         /* CSS3 Proposed       */
    -ms-interpolation-mode: nearest-neighbor;   /* IE8+                */
    }

น่าเสียดายที่นี่ใช้ไม่ได้กับ Chrome (ยกเว้นใน OSX)
lapo

ฉันต้อง 'ใช้' สิ่งนี้ใน Chrome ได้อย่างไร
Nyerguds

4
คุณเพิ่งบอกว่ามันเป็นไปไม่ได้แล้ววางรหัสทำงานเพื่อทำมันจริง?
Petr Peller

ไม่ @petrpeller ฉันเขียนอย่างชัดเจนว่าเป็นไปไม่ได้โดยตรงกับเบราว์เซอร์ ฉันจะอธิบายเพิ่มเติมว่าจำเป็นต้องใช้ปลั๊กอิน ... ทำไมคุณถามคำถามนี้เมื่อคุณสามารถอ่านโพสต์?!
เดฟ

2
image-rendering: -webkit-optimize-contrast;ทำงานใน chrome
นักเรียน WP

2

ฉันสังเกตเห็นปัญหาบางอย่างกับ Chrome และ Firefox เมื่อใช้การเรนเดอร์ GPU กับภาพ เช่น:

img {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

หากคุณมีคำสั่ง CSS ต่อไปนี้ลองลบออกและดูว่าคุณภาพของภาพของคุณเพิ่มขึ้นหรือไม่


2

ฉันทำ bookmarklet นี้เพื่อปิดการปรับให้เรียบ ฉันจะเก็บลิงค์ไว้ในแถบที่คั่นหน้าของฉันและแตะเมื่อฉันต้องการปิดการลดรอยหยักบนหน้าเว็บโดยปกติแล้วจะเป็นพิกเซลอาร์ตหรือเกมคลาสสิค :

javascript:(function pixelate() {
  const sheet = document.createElement('style');
  sheet.innerHTML = 'img { image-rendering: pixelated; }';

  document.head.appendChild(sheet);

  for(let i = 0; i < frames.length; ++i) {
    frames[i].document.head.appendChild(sheet);
  }
})()

เหตุผลที่ bookmarklet น่าสนใจคือฉันไม่ชอบให้สิทธิ์ในการ "อ่านและเปลี่ยนแปลงข้อมูลทั้งหมดของคุณบนเว็บไซต์ที่คุณเยี่ยมชม" ส่วนขยาย


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.