2013-04-21 78 views
10

Tôi có một cốt truyện và đang thiết phía sau để minh bạch theo:Matlab: Lưu hình với nền trong suốt

set(gcf, 'Color', 'None'); 
set(gca, 'Color', 'None'); 

Khi tôi cố gắng để lưu các hình ảnh (từ người xem), tôi tiết kiệm như một .png, nhưng nó tiết kiệm với một nền trắng. Làm thế nào tôi có thể lưu nó với nền trong suốt?

Cảm ơn

Trả lời

9

Thật đáng buồn nhưng, mặc định saveasprint lệnh MATLAB ta không thể đối phó với những thứ trong suốt rất tốt. Bạn sẽ phải lưu nó với một số nền và sau đó chuyển đổi nó thông qua imread/imwrite hoặc một số công cụ khác.

Có một số công cụ mà có thể hữu ích:

tôi thích đồ họa vector, vì vậy sử dụng xuất khẩu svg khi tính minh bạch là cần thiết. Nếu thực sự bạn có một bitmap, hãy sử dụng imwrite(bitmapData, 'a.png', 'png', 'transparency', backgroundColor).

+2

Tôi chấp nhận điều này, nhưng cũng giống như ghi chú bên trong trình xem, tôi đã chỉnh sửa hình ảnh và dán trong powerpoint và dường như để giữ độ trong suốt – Aly

+0

+1 cho plot2svg. – bas

+0

@Aly Tôi đoán đó là vì nó được sao chép thông qua định dạng 'emf'. Có lẽ tiết kiệm như emf sẽ duy trì tính minh bạch. (Tôi chưa tự kiểm tra) – Memming

1

Mọi thứ đã thay đổi kể từ khi phát hành MATLAB 2014b. Hệ thống đồ họa mới được triển khai (được gọi là HG2, cho Xử lý đồ họa phiên bản 2) làm tốt hơn nhiều về tính minh bạch.

Giờ đây, tính năng này sẽ tiết kiệm độ trong suốt một cách chính xác cho SVG ít nhất!

+0

Còn PNG thì sao? – Royi

1

Vì vậy, tôi vẫn muốn một cái gì đó đơn giản mà không yêu cầu tôi phải cài đặt bất cứ điều gì khác (pc của công ty không được phép: /). Tôi stumbled khi this link, trong đó nêu:

Tất cả bạn phải làm là như sau

1) Trong tập matlab thêm các lệnh để định dạng con số của bạn với nền trong suốt

set(gcf, 'color', 'none'); 
set(gca, 'color', 'none'); 

và lưu hoặc xuất hình được tạo ở định dạng eps. (Nói Bspline.eps)

2) Bspline.eps Open in NotePad

3) Nhìn vào dòng đầu tiên. Ví dụ: %!PS-Adobe-3.0 EPSF-3.0. Số cuối cùng 3.0 cho biết mức độ Postscript. Đối với cấp độ 3, tìm kiếm chuỗi rf. Bạn sẽ tìm thấy trong một dòng như thế này (bốn số theo sau là rf)

0 0 3025 2593 rf% Nhận xét dòng đó bằng%.

(Đối với bậc 2 tìm kiếm chuỗi pr thay vì rf)

Lưu tập tin.

Bây giờ bạn có thể sử dụng tệp eps hoặc bạn có thể chuyển đổi tệp thành pdf rồi sử dụng nó. Dù sao nó sẽ có nền trong suốt

tắm

Đối với tôi đó là hai dòng với re và hai dòng, mặc dù tôi có %!PS-Adobe-3.0 EPSF-3.0 chỉ sau mỗi khác. Nhưng kết quả là Figure giờ đã được minh bạch.

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