Mất chất lượng khi giảm quy mô của SVG


8

Tôi đang gặp khó khăn khi cố gắng tìm ra cách tốt nhất để sản xuất một SVG duy trì chất lượng của nó thông qua việc nhân rộng. Kích thước thực tế của hình ảnh là mức trung bình hoàn hảo về pixel trong Illustrator. Tuy nhiên, một khi tôi lưu nó dưới dạng SVG, đường thẳng đứng nhất bên phải sẽ bị mờ. Tôi có thể làm gì để sản xuất một SVG thân thiện với quy mô / chất lượng tốt hơn?

nhỏ nhỏ

thực tế Trung bình

lớn nhập mô tả hình ảnh ở đây



Không phải là một bản dupe của điều này. Các câu trả lời và câu hỏi thường liên quan, nhưng không hoàn toàn trùng lặp. @IlmariKaronen
CuriousWebDeveloper

Tôi đã hỏi một câu hỏi về nó. graphicdesign.stackexchange.com/questions/32134/... @ DA01
CuriousWebDeveloper

Câu trả lời:


10

SVG Duy trì chất lượng nguồn 100%

Dữ liệu của hình ảnh SVG được lưu trữ dưới dạng XML thay vì pixel và bao gồm các thành phần có thể được thu nhỏ theo bất kỳ mức nào mà không làm giảm chất lượng nguồn .

Độ phân giải màn hình

Khi đồ họa trở nên nhỏ hơn trên màn hình của bạn, nó có càng ít pixel để thể hiện nguồn của nó (vẫn có chất lượng hoàn hảo), khiến hình ảnh trông kém sắc hơn.

Khử răng cưa

nhập mô tả hình ảnh ở đây

Hình ảnh lớn (trái) và nhỏ (phải) đều được khử răng cưa (Xem màu sắc nhẹ, tinh tế được sử dụng ở các cạnh?).

Khử răng cưa là một kỹ thuật được sử dụng trong việc hiển thị hình ảnh hy sinh độ sắc nét để tránh các cạnh lởm chởm xấu xí. Kỹ thuật này được sử dụng để giữ cho các cạnh mịn là lý do cho chất lượng kém trong hình ảnh nhỏ nhất. Do độ phân giải thấp, việc khử răng cưa rõ ràng hơn nhiều ở đây và thậm chí còn được sử dụng trên các cạnh dọc.

Tôi nghi ngờ điều này xảy ra trong quá trình khử răng cưa bởi vì thật khó để làm điều đó khác đi, hoặc cho sự đồng nhất trong hình ảnh. Nếu các cạnh chéo bị mờ một chút do khử răng cưa và các cạnh dọc thì không, đó sẽ không phải là một hiệu ứng rất cân bằng.

Khử răng cưa là một cái gì đó của một anh hùng vô danh trong đồ họa web; đó là lý do chúng tôi có văn bản rõ ràng và hình dạng vector mượt mà trên màn hình của chúng tôi. Thực tế, có một số cách tiếp cận để khử răng cưa được sử dụng trong các trình duyệt ngày nay rõ ràng nhất khi nói đến kết xuất văn bản. Khi thuật toán được sử dụng cho chuyển mạch chống phản xạ, nó có thể dẫn đến kết quả hình ảnh bất ngờ. Trong bài viết này, chúng ta sẽ xem xét các phương pháp khử răng cưa và xem các pixel được vẽ như thế nào.

Tất cả các màn hình của chúng tôi được tạo thành, như chúng ta đều biết, về pixel. Đó là một mạng lưới các khối khổng lồ và mỗi khối chứa các thành phần màu đỏ, xanh lục và xanh lam (RGB). Ở khoảng cách chúng ta thấy hình ảnh, văn bản và biểu tượng, nhưng ở gần chúng ta thực sự có thể thấy lưới các thành phần RGB và cách mọi thứ được tạo thành.

Vậy điều gì sẽ xảy ra khi chúng ta vẽ một hình dạng vectơ và nó đi qua một phần pixel của pixel? Chúng ta hãy giả sử rằng hình dạng chúng ta vẽ là màu đen và nền là màu trắng. Chúng ta có nên tô màu pixel đó không? Nếu chúng ta tô màu nó, nó nên là màu gì? Đen, xám, còn gì nữa không?

- Bài viết nguồn của HTML5 Rocks

Giải pháp

Gợi ý pixel. Như được liên kết bởi người dùng mới bên dưới gợi ý pixel là chính xác những gì bạn cần và câu trả lời thích hợp cho câu hỏi của bạn. Chống răng cưa xử lý mọi cạnh như móng tay, đập vỡ và làm mịn mà không bị gò bó. Trừ khi bạn đưa ra gợi ý!

Làm thế nào nó được thực hiện ...

nhập mô tả hình ảnh ở đây

Đầu tiên, mở tài liệu chứa hình dạng vector bạn muốn gợi ý pixel. Kỹ thuật này hoạt động rất tốt nếu bạn làm việc trong vector, mặc dù nếu bạn đang làm việc với các hình dạng raster, gợi ý pixel có thể quản lý được - nhưng chỉ dành cho nâng cao. Vì vậy, bây giờ hãy gắn bó với hình dạng vector.

Thứ hai, phóng to hết mức có thể cho đến khi bạn thấy lưới pixel. Nếu bạn nghĩ rằng bạn đã phóng to đủ xa, nhưng bạn vẫn không thể nhìn thấy lưới pixel, tôi khuyên bạn nên thay đổi một số cài đặt và tùy chọn để bật nó. Nếu nó bật và bạn có thể nhìn thấy nó, hãy đi và chọn đường dẫn / hình dạng vector của bạn.

Thứ ba, chọn các điểm trên đường dẫn vectơ của bạn và di chuyển các pixel bằng các phím mũi tên của bạn theo gia số phút. Một số ứng dụng yêu cầu bạn phải nhấn nút, một số thì không. Chỉ cần bạn biết rằng các đường dẫn không chỉ tăng một pixel lên - bởi vì bạn muốn chúng dịch chuyển nhiều nhất, một nửa pixel lên.

Thứ tư, làm tương tự cho các điểm còn lại của vectơ cho đến khi mọi thứ trông bớt mờ hơn khi thu nhỏ. Khi bạn đã hoàn thành, bây giờ bạn có thể áp dụng các kiểu sắc nét, độ dốc, độ dốc, bóng tối, v.v., như bạn thường làm với hình dạng vector.

Cuối cùng, nếu bạn đang nghĩ đến việc đi xa hơn với kỹ thuật này, hãy thử làm mờ các điểm vectơ trên các biểu tượng trông giống như quá sắc nét. Đôi khi, một đường cong có thể trông hơi mờ hơn nhiều so với khi nó giòn.

- Nguồn bài viết của ngành, lịch sự của tareq-a.


Gợi ý pixel với hình dạng vectơ cho hệ thống kết xuất ý định của cạnh, vì vậy, khử răng cưa sẽ biết có nên vung búa không?


2

Như những người khác đã lưu ý, độ mờ được gây ra bởi việc khử răng cưa, khi đường thẳng đứng trong hình ảnh tỷ lệ của bạn không rơi chính xác trên một ranh giới pixel.

Bạn có thể sửa lỗi này một cách thủ công trong trình chỉnh sửa SVG bằng cách trước tiên chia tỷ lệ hình ảnh của bạn thành kích thước mong muốn, sau đó phóng to và điều chỉnh thủ công các đường sao cho chúng rơi chính xác vào ranh giới pixel. (Nếu bạn đang làm điều này trong Inkscape, tôi khuyên bạn nên thiết lập lưới 0,5px với mỗi dòng thứ hai được nhấn mạnh trong tùy chọn tài liệu.)

Ngoài ra, bạn có thể thấy bổ trợ PixelSnap Inkscape hữu ích. Nó tự động hóa phần tẻ nhạt của công việc này, tự động dịch chuyển các dòng sao cho chúng rơi chính xác vào ranh giới pixel. Mặc dù nó không phải lúc nào cũng làm một công việc hoàn hảo, nhưng nó thường dễ dàng hơn nhiều để cho phép nó thực hiện công việc của mình và sau đó làm sạch mọi kết quả dưới mức tối ưu hơn là luôn luôn thực hiện gợi ý pixel hoàn toàn thủ công.


1

Tôi nghĩ rằng @Jonathan Todd đã đưa ra một lời giải thích lý thuyết tốt và phương pháp chung để tránh mờ. Tôi muốn bổ sung một video thực hành về cách thực hiện gợi ý pixel trong Adobe Illustrator mà tôi tìm thấy trong bài viết này .

Tôi sẽ mô tả phương pháp của video này như sau:

  1. Biết làm thế nào lớn biểu tượng bạn muốn hiển thị. Nếu bạn muốn nó hiển thị ở 16px x 16px thì tốt hơn bạn nên tạo biểu tượng cùng kích thước để có hiệu quả tối ưu. Hãy nhớ rằng bạn nên thiết kế các biểu tượng tùy chỉnh theo kích thước chính xác mà bạn cần.

  2. Sử dụng Adobe Illustrator để mở tệp biểu tượng SVG và chỉnh sửa nó. Hai hình tam giác đều có định dạng SVG nhưng một hình có sự liên kết tốt với lưới ảo, nó sẽ không bị mờ khi hiển thị trên màn hình của bạn.

  3. Để chỉnh sửa biểu tượng mờ của bạn, trước tiên bạn đặt đơn vị hình ảnh của bạn bằng pixel. Tôi nghĩ rằng điều này là khác nhau trên Windows và Mac OS vì vậy bạn nên google nó tốt hơn. nhập mô tả hình ảnh ở đây

  4. Thiết kế với gợi ý pixel được kích hoạt. ( alt+ + Ytrên mac hoặc alt+ ctrl+ Ytrên Windows) bạn có thể thấy các pixel cạnh ngang và dọc của tam giác bên trái sắp xếp lưới hoàn hảo trong khi pixel cạnh ngang của tam giác phải thì không.
    nhập mô tả hình ảnh ở đây

  5. Thay đổi chiều rộng và chiều cao trước và thay đổi X và Y để loại bỏ phần thập phân. Tôi sẽ đề nghị bạn chỉnh sửa chiều rộng và chiều cao trước rồi sửa đổi tọa độ x và y.

thay đổi giá trị thập phân

nhập mô tả hình ảnh ở đây

để làm tròn số (không có phân số thập phân)

nhập mô tả hình ảnh ở đây

  1. Voila. Lưu hình ảnh của bạn để sử dụng!

-1

Có lẽ liên kết này sẽ hữu ích để giải quyết vấn đề của bạn, http://theindustry.cc/2012/10/17/design-pixel-hinting/


2
Xin chào tareq, chào mừng bạn đến với GDSE và cảm ơn bạn đã đóng góp! Bạn có thể vui lòng thêm một chút thông tin về những gì chúng tôi có thể tìm thấy tại liên kết bạn cung cấp không? Bằng cách đó, câu trả lời của bạn vẫn có giá trị trong trường hợp liên kết bị hỏng sau đó. Phá vỡ liên kết là một trong những lý do chúng tôi không tự hào về các câu trả lời chỉ liên kết. Cảm ơn một lần nữa và tận hưởng trang web!
Vincent
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.