Using the TIFF class in Matlab, you can write TIFF with transparency:
%# create a synthetic RGBA image ch = checkerboard(100); rgba = repmat(ch,[1,1,4]); rgba(:,:,4) = rgba(:,:,4)==0; rgba = uint8(round(rgba*255)); %# create a tiff object tob = Tiff('test.tif','w'); %# you need to set Photometric before Compression tob.setTag('Photometric',Tiff.Photometric.RGB) tob.setTag('Compression',Tiff.Compression.None) %# tell the program that channel 4 is alpha tob.setTag('ExtraSamples',Tiff.ExtraSamples.AssociatedAlpha) %# set additional tags (you may want to use the structure %# version of this for convenience) tob.setTag('ImageLength',size(ch,1)); tob.setTag('ImageWidth',size(ch,2)); tob.setTag('BitsPerSample',8); tob.setTag('RowsPerStrip',16); tob.setTag('PlanarConfiguration',Tiff.PlanarConfiguration.Chunky); tob.setTag('Software','MATLAB') tob.setTag('SamplesPerPixel',4); %# write and close the file tob.write(rgba) tob.close %# open in Photoshop - see transparency!
Jonas source share