Code covered by the BSD License  

Highlights from
Hatch fill patterns plus Color & Invert

4.75

4.8 | 4 ratings Rate this file 68 Downloads (last 30 days) File Size: 48.71 KB File ID: #24021
image thumbnail

Hatch fill patterns plus Color & Invert

by Brandon Levey

 

06 May 2009 (Updated 03 Jul 2011)

Updated code hatch with color and inverted hatches

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

| Watch this File

File Information
Description

This is an update of Brian Katz's update to Ben Hinkle's original applypatch and makepatch code for replacing colors in figures with hatches as well as David's applypatch_plus. This new version allows you to either make a black and white hatch or use the colors of the fill to create colored hatches. Additionally you can invert the hatch, i.e. it is possible to have a blue hatch with white background or a white hatch with blue background. All of the previous work done in the plus addition should still work, just these are now new options. See help of functions for example usage.

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
Hatch fill patterns plus plus, Hatched Fill Patterns, Hatched Fill Patterns Plus

MATLAB release MATLAB 7.2 (R2006a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (5)
30 Sep 2009 Olivier Planchon

This is a convenient workaround to create hatched graphichs.
input is a color graphic (either a matalb figure or an image file).
Output is a hatched graphic where each color area was changed into hatches.

I do not feel comfortable with the last two parameters (scales) because they are relative. Absolute line width and spacing would be better imho (perhaps this is possible and I missed something).

01 Oct 2009 Olivier Planchon

Bug Report :
the image generated has twice the number of rows, and columns (thus 4 times the weight) than expected by the defined size and image position.
as a result, Fonts in the result files are half the desired size. See at the end of my comment a file that demonstrates this bug.

Other comments :
This is a convenient workaround to create hatched graphichs.
input is a color graphic (either a matalb figure or an image file).
Output is a hatched graphic where each color area was changed into hatches.

I do not feel comfortable with the last two parameters (scales) because they are relative. Absolute line width and spacing would be better imho (perhaps this is possible and I missed something).

bug demo file :

txt = {'Police 6 1a23b45c67d89e0. ' ; 'Police 8 1a23b45c67d89e0. '; 'Police 10 1a23b45c67d89e0. '; 'Police 12 1a23b45c67d89e0. '} ;

% définit figure vide
fghl = figure(1) ;
clf % clear figure
hold off
set (fghl, 'PaperUnits', 'centimeters') % unité de papier
set (fghl, 'Units', 'centimeters') % unités d'écran (marche pas vraiment ...
figure_margins = [1 1] ; % En cm : position = 1 cm du coin BG de l'image,
figure_size = [8.5 5] ;% taille = largeur x hauteur, en cm.
set (fghl, 'PaperType', 'A4', 'PaperPosition', [figure_margins figure_size])
set (fghl, 'Position', [figure_margins 2*figure_size])
whitebg(fghl, 'white') ; % white back ground

% Les traits et les polices
ligne.hair = 0.5 ;
ligne.normal = 1 ;
ligne.semibold = 1.5 ;
ligne.bold = 2 ;

fontsize = [6 8 10 12] ;

hold on
plot([0 1 2], [0 1 4], 'k', 'linewidth', ligne.normal) ;
t = (1/16:1/8:1)'*2*pi;
x = sin(t);
y = cos(t);
fill(x,y,'r')
axis equal

x0a = [0 0 0 0] ;
y0a = 1.5:-0.2:0 ;
x0b = -1 ;
y0b = 3 ;
for i = 1:4
text(x0a(i), y0a(i), txt(i), 'fontsize', fontsize(i))
end

txt2 = [] ;
for i=1:4
    t = txt{i} ;
    txt2 = [txt2 '\fontsize{' num2str(fontsize(i)) '}' t] ;
end
text(x0b, y0b, txt2) ;

drawnow

% Transforme les couleurs en hachurage
dpi = 72

% Sauve la figure
dpitag = ['-r' num2str(dpi)] ;
print('-dtiffn',dpitag ,'test1.tiff') ; % This file is correct

[im_hatch, colorlist] = applyhatch_pluscolor(gcf,'\/',0,0,[],dpi,5,5);
imwrite(im_hatch,'test2.tiff','tiff', 'Resolution', dpi) % this file is too large.

02 Nov 2009 Stefan

Does just what I was looking for!

18 Oct 2010 valantis costa  
01 Mar 2011 Sungeun Lee  
Please login to add a comment or rating.
Updates
03 Jul 2011

Adding to the acknowledgements for the entire parent-child relationship of the function.

Tag Activity for this File
Tag Applied By Date/Time
bar Brandon Levey 07 May 2009 09:29:17
color Brandon Levey 07 May 2009 09:29:17
figure Brandon Levey 07 May 2009 09:29:17
hatch Brandon Levey 07 May 2009 09:29:17
hatching Brandon Levey 07 May 2009 09:29:17
color hatch Brandon Levey 07 May 2009 09:29:17
plotting Brandon Levey 07 May 2009 09:29:17
plot Brandon Levey 07 May 2009 09:29:17
inverted hatch Brandon Levey 07 May 2009 09:29:17
replacement Brandon Levey 07 May 2009 09:29:18
specialized Brandon Levey 07 May 2009 09:29:18
specialized plot Brandon Levey 07 May 2009 09:29:18
hatch Taimoor Abbas 18 Feb 2011 22:15:02
color Henry Harrison 28 Apr 2011 23:13:08
bar Alexander Beetz 06 May 2011 04:52:25
plot Jose Ercolino 18 Jul 2011 13:32:05
patch Jose Ercolino 18 Jul 2011 13:32:05
hatch Jose Ercolino 18 Jul 2011 13:32:05
fill Jose Ercolino 18 Jul 2011 13:32:05
graphics Jose Ercolino 18 Jul 2011 13:32:05
style Jose Ercolino 18 Jul 2011 13:32:05
color Jose Ercolino 18 Jul 2011 13:32:11
potw Lindsay Coutinho 22 Jul 2011 10:35:44
pick of the week Lindsay Coutinho 22 Jul 2011 10:35:44
bar Mohammd M Khan 29 Nov 2011 13:48:41
inverted hatch Mohammd M Khan 29 Nov 2011 13:50:49

Contact us at files@mathworks.com