1 van 1

Matlab vraag export naar afbeelding

Geplaatst: ma 05 sep 2011, 13:11
door DePurpereWolf
Ik zit met het probleem dat als ik een afbeelding weergeef, en het dan wil printen, de resolutie word aangepast.

Ik kan niet vinden hoe het zo in te stellen dat de afbeelding op het scherm op word geslagen als PNG met de resolutie van de data die is gebruikt.

De code is als volgt:

Code: Selecteer alles

A = imread([Directory Filename ext],ext); % plaats van afbeelding en type 

sc(A); % sc is een plugin, je kunt dit ook lezen als imagesc, geen verschil 

h = gcf;

% draw line, position is ergens anders gedefineerd

line(position(:,1),position(:,2), 'color', 'red', 'LineWidth',3 ); 

% draw text, str is ergens anders gedefineerd

txt = annotation('textbox',[0.5 0.5 0 0], 'string', str,'FontSize',18,'FontName', 'Arial', 'TextColor', 'red', 'FitBoxToText', 'on', 'LineStyle', 'none' ); 

set(h,'Position', [50 50 1392 1040], 'PaperPositionMode', 'Auto')

print( '-dpng', [Directory Filename 'test' '.png']);
Iemand enig idee?

Ik heb geprobeerd om met een figure handle de PaperSize en Position aan te passen. Ik heb

Re: Matlab vraag export naar afbeelding

Geplaatst: ma 05 sep 2011, 14:25
door Bart
Er zijn twee dingen waar je rekening mee moet houden, het formaat en de resolutie.

Het formaat pas je aan door middel van PaperPosition (ja ook om een PNG ervan te maken).

Code: Selecteer alles

set(gcf, 'PaperUnits', 'centimeter', 'PaperPosition', [0 0 20 15]);
PaperSize is hier niet van belang, omdat je het niet naar een echte printer stuurt.

Vervolgens wil je nog de resolutie aanpassen, dat doe je met het print commando. De resolutie veranderd niets aan de verhoudingen (bijv tekstgrootte), dat doet PaperPosition. Het bepaald enkel de detail in je PNG.

Code: Selecteer alles

print('-dpng', '-r300', 'myFile.png');
print met een resolutie van 300 dpi.

Re: Matlab vraag export naar afbeelding

Geplaatst: ma 05 sep 2011, 14:54
door DePurpereWolf
Ja, zo werkt het.

Bedankt.