2011-09-28 74 views
42

Tôi có một tệp .eps mà tôi có thể xem trong Photoshop, và nó có độ phân giải rất cao, cạnh sắc nét, v.v. thậm chí còn lớn hơn 1024x1024.Cách chuyển đổi tệp .eps sang chất lượng cao 1024x1024 .jpg?

Với ImageMagick tôi muốn chuyển đổi .eps này thành 1024x1024 .jpg với độ phân giải rất cao.

Tuy nhiên, với các lệnh sau đây, hình ảnh rất mờ:

convert -resize "1024x1024" -colorspace RGB -flatten test.eps test.jpg 

gì thông số ImageMagick tôi phải sử dụng sao cho .jpg kết quả là 1024x1024 và chất lượng cao, hình ảnh sắc nét?

đây là một số dữ liệu XMP chúng tôi nhận thấy, có lẽ những gì đang gây ra nó để không bị thay đổi kích cỡ với -size:

enter image description here

+6

vì JPG sử dụng phép chuyển đổi DCT dành cho ảnh tự nhiên, tức là ảnh. Nó không thích hợp cho hình ảnh với các cạnh sắc nét. Sử dụng png-thay vào đó. Chỉ cần một ý nghĩ ... –

+0

lệnh 'convert -resize "1024x1024" -colorspace RGB -flatten test.eps test.png' vẫn tạo ra tệp .png mờ, tôi cần tăng dpi tôi nghĩ nhưng không thể nhận được cài đặt thông số phù hợp –

+0

thử sử dụng '-filter' như được mô tả [tại đây] (http://www.imagemagick.org/script/command-line-options.php?ImageMagick=l4s55sb18gpqvae2pfd820a1g4#filter) để thay đổi phương thức thay đổi kích thước được sử dụng để một cái gì đó thích hợp hơn –

Trả lời

74

Đối với đồ họa vector, ImageMagick có cả độ phân giải kết xuất và kích thước đầu ra độc lập với nhau.

Hãy thử một cái gì đó giống như

convert -density 300 image.eps -resize 1024x1024 image.jpg 

nào sẽ làm cho eps tại 300dpi. Nếu 300 * chiều rộng> 1024, thì nó sẽ sắc nét. Tuy nhiên, nếu bạn render nó quá cao, bạn sẽ lãng phí rất nhiều bộ nhớ để vẽ một bức ảnh có độ phân giải cao chỉ để lấy mẫu lại. Tôi hiện không biết cách nào tốt để hiển thị nó ở độ phân giải "đúng" trong một lệnh IM.

+3

cảm ơn, điều đó đã thực hiện, kết quả độ phân giải tốt nhất là khi mật độ = thay đổi kích thước, ví dụ: 'chuyển đổi mật độ 1024x1024 -resize 1024x1024 test.eps test.jpg ' –

+1

Không, tôi không tin điều đó bạn nghĩ . Nó làm cho hình ảnh của bạn ở độ phân giải 1024dpi và sau đó downsamples nó thành 1024x1024px. Ví dụ: EPS 4x4in sẽ trở thành 4096x4096px trong bộ nhớ và sau đó đổi kích thước thành 1024x1024px. – erjiang

+30

Khi tôi đang googling, tôi tìm thấy câu trả lời stackoverflow này chỉ sau/dưới một khác nhau mà đã có câu trả lời đúng và một nugget chính. Điểm mấu chốt là đảm bảo cờ độ đậm (tôi sử dụng "mật độ 400%") xuất hiện trước tên tệp đầu vào. Trong thiết lập ban đầu của tôi, tôi đã kẹp tất cả các cờ giữa tên tệp đầu vào và tên tệp đầu ra và mật độ không có hiệu lực trong trường hợp đó (dẫn đến hình ảnh phông chữ mờ). Vì vậy, độc giả nên đảm bảo rằng mật độ xuất hiện _before_ cả test.eps và test.jpg. [Một trường hợp phổ biến đối với tôi là chuyển đổi pdf sang png.] –

1

Có lẽ bạn nên thử nó với -Chất 100 -Kích thước "1024x1024", bởi vì thay đổi kích thước thường cho kết quả xấu xí để xem.

+1

hmm, 'convert -colorspace RGB -flatten -quality 100 -ize" 1024x1024 "test.eps test.jpg' tạo một .jpg với kích thước 100x41, tại sao điều đó được? –

+0

Bạn đã thử nó không có dấu ngoặc kép chưa? Có, tôi sẽ không nhận được, nơi mà vấn đề là – Stephan

+0

Có, tôi đã thử nó mà không có dấu ngoặc kép với cùng một kết quả, một đồng nghiệp đề cập rằng "XMP thông tin xác định hình thu nhỏ như là một kích thước nhỏ hơn", có lẽ tôi cần phải ghi đè bằng cách nào đó? –

Các vấn đề liên quan