1
EPS文件可以包含嵌入式TIFF(以及很少WMF)預覽,以便在沒有PostScript的環境中輕鬆呈現。 (有關更多信息,請參見Wikipedia)。如何使用MATLAB從EPS文件中提取TIFF預覽?
鑑於這樣的EPS,我如何使用MATLAB將TIFF提取到單獨的文件中?
EPS文件可以包含嵌入式TIFF(以及很少WMF)預覽,以便在沒有PostScript的環境中輕鬆呈現。 (有關更多信息,請參見Wikipedia)。如何使用MATLAB從EPS文件中提取TIFF預覽?
鑑於這樣的EPS,我如何使用MATLAB將TIFF提取到單獨的文件中?
% Define the source EPS file and the desired target TIFF to create.
source = 'ode_nonneg1.eps';
target = 'ode_nonneg1.tif';
% Read in the EPS file.
f = fopen(source,'rb');
d = fread(f,'uint8');
fclose(f);
% Check the header to verify it is a TIFF.
if ~isequal(d(1:4),[197;208;211;198])
error 'This does not appear to be a vaild TIFF file.'
end
% Extract the TIFF data location from the headers.
tiffStart = sum(d(21:24).*256.^(0:3)')+1;
tiffLength = sum(d(25:28).*256.^(0:3)');
% Write the TIFF file.
f = fopen(target,'w');
fwrite(f,d(tiffStart:tiffStart-1+tiffLength),'uint8','b');
fclose(f);
+1也許你可以讀取TIFF預覽而不必讀取存儲器中的整個EPS文件(通過讀取文件的前28個字節,然後使用'fseek'並讀取指定範圍) – Amro