Có người xem hình ảnh nào chụp ảnh trên STDIN không?


33

Tôi đang tìm kiếm một trình xem hình ảnh lấy dữ liệu stdinvà có thể chạy như sau:

cat image.png | imageviewer

Câu trả lời:


40

displayChương trình của ImageMagick sẽ làm điều đó, giả sử bạn đặt nó một cái gì đó mà nó hiểu.

cat image.png | display

và nó sẽ bật lên một cửa sổ hiển thị hình ảnh đó.


1
Trên phiên bản ImageMagick 6.8.8-1 Q16 i686 2014-01-04tôi cũng cần phải vượt qua -như một tham số: $ cat image.png | display -hoặc $ display - < image.png.
Emil Lundberg


7

Trên Linux (và có thể là BSD), hầu hết tất cả chúng - nếu bạn đưa ra /dev/stdinlàm đường dẫn. Điều này bao gồm: xloadimage,, fehMắt của Gnome ( eog).

eog /dev/stdin < "$file"

(Tuy nhiên, không phải tất cả chúng đều hoạt động tốt với các tệp đặc biệt. Chẳng hạn, GThumb đã thất bại trong bài kiểm tra.)


3
Điều này không hoạt động: cat graph.png | eog / dev / stdin
bukzor

5
@Naga: Đây < "$file"là một ví dụ. Vấn đề là liệu chương trình có thể chấp nhận một luồng tùy ý hay không, có thể là một chuyển hướng đơn giản hoặc một cái gì đó cao cấp hơn (chẳng hạn như cung cấp hình ảnh qua stdin, một ống có tên, thay thế quá trình, ổ cắm hoặc thiết bị ký tự). Vấn đề là nhiều người xem yêu cầu fd có thể tìm kiếm được, chỉ có các tệp thông thường và các thiết bị chặn.
tham lam

3
Như @bukzor chỉ ra, cat graph.png | eog /dev/stdinthất bại, nhưng eog /dev/stdin < graph.pnghoạt động.
Denilson Sá Maia

2
Có cách nào để làm cho phương thức này hoạt động với piping ( |) không?
Tarrasch

1
Dường như eogđang tìm kiếm thông tin về bộ mô tả tệp (thành công trong trường hợp đặc biệt là nó được chuyển hướng trực tiếp từ một tệp), trong khi các chương trình Unix thông thường sẽ chỉ lấy đầu vào bất kể nó đến từ đâu. Vì vậy, eogsẽ không làm việc cho stdin chung. Một chương trình khác hoạt động là gwenview /dev/stdin(trình xem ảnh KDE).
Ốc cơ khí

3

Một FIFO có thể hoạt động với eogsự thiếu hỗ trợ đường ống:

mkfifo ${tmpfilename};
cat ${file} > ${tmpfilename} &;
eog /dev/stdin < ${tmpfilename};
rm ${tmpfilename};

AFAIK này nên hoạt động.


3

Bạn có thể sử dụng feh, nó khá nhanh.

cat image.png | feh --scale-down -  

feh là một trình xem ảnh nhẹ nằm trong kho mặc định của nhiều bản phân phối Linux. Nó đặc biệt nhắm đến người dùng dòng lệnh, những người cần một trình xem hình ảnh nhanh mà không cần phụ thuộc GUI lớn.


2
Bạn có thể mở rộng câu trả lời của bạn một chút? Chỉ cần đề cập đến một sản phẩm (đó là một lệnh, sản phẩm hoặc biểu hiện của sự thờ ơ?), Không thực sự giải thích làm thế nào để thực hiện giải pháp. Tốt hơn là giải thích cách sử dụng sản phẩm để giải quyết vấn đề hoặc ít nhất là mô tả những gì làm cho sản phẩm trở thành một giải pháp tốt, không chỉ là một cú đánh ngẫu nhiên của Google. Hướng dẫn tốt về giới thiệu phần mềm tại đây: meta.superuser.com/questions/5329/ ,. Cảm ơn.
fixer1234

1
Câu hỏi rất cụ thể, tôi đã đưa ra một câu trả lời cụ thể. Và vì chúa, có một dòng lệnh ngay phía trên chúng ta.
MaikoID
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.