No BSD License  

Highlights from
Resize images and make HTML slideshow

from Resize images and make HTML slideshow by Adam O'Neill
Resize your digital camera photos then make a HTML slideshow to go on the web

makeslideshow(varargin);
function varargout = makeslideshow(varargin);

% Make a HTML JavaScript slideshow to show pictures online
% Syntax: varargout = makeslideshow(varargin);
% Import: varargin = F, P
%            F = cell array of filenames
%            P = path to files
% Export: varargout = exitmsg
%            exitmsg = 'Done!' if OK, empty if not

F = ''; P = 0; exitmsg = '';
if nargin>=1; F = varargin{1}; P = strcat(cd,'\'); end
if nargin>=2; P = varargin{2}; end

if isempty(F)  % Add more image filetypes as needed !
   [F,P] = uigetfiles('*.bmp;*.gif;*.jpg;*.jpeg;*.tif','Select image files...');
end

if P==0
   exitmsg = 'No image files !';
   return
end
F = sort(F);

% Write the script
fid = fopen(strcat(P,'slideshow.html'),'wt','n');

fprintf(fid,'%s\n','<HTML>');
fprintf(fid,'%s\n','<HEAD>');
fprintf(fid,'%s\n','<TITLE>slideshow</TITLE>'); % Add custom HTML page title here !
fprintf(fid,'%s\n','</HEAD>');
fprintf(fid,'%s\n','<SCRIPT Language="JavaScript">');
fprintf(fid,'%s\n','var curr_image = 1;');

for k = 1:length(F)
   
   % Example:
   % img1 = new Image(); img1.src = "0007adamsit.jpg";
   fprintf(fid,'%s%1.0f%s%1.0f%s%s%s\n','   img',k,' = new Image(); img',k,'.src = "',F{k},'";');
     
end

fprintf(fid,'\r\n');
fprintf(fid,'%s\n','/*====================================================');
fprintf(fid,'%s\n','   Function: roll_over()');
fprintf(fid,'%s\n','   Arguments: direction');
fprintf(fid,'%s\n','   Purpose: To scroll forward and back through images.');
fprintf(fid,'%s\n','====================================================*/');
   
fprintf(fid,'\r\n');
fprintf(fid,'%s\n','function roll_over(direction)');
fprintf(fid,'%s\n','{');
fprintf(fid,'%s\n',' if (direction == 1)');
fprintf(fid,'%s\n','    {curr_image = curr_image+1;}');
fprintf(fid,'%s\n',' else if (direction == -1)');
fprintf(fid,'%s\n','    {curr_image = curr_image-1;}');
   
fprintf(fid,'\r\n');
fprintf(fid,'%s%1.0f%s\n',' if (curr_image<1) {curr_image=',length(F),';}');
fprintf(fid,'%s%1.0f%s\n',' if (curr_image>',length(F),') {curr_image=1;}');
fprintf(fid,'%s\n',' document.img1.src = eval("img"+(curr_image)+".src");');
fprintf(fid,'%s\n',' return false;');
fprintf(fid,'%s\n','}');
fprintf(fid,'%s\n','</SCRIPT>');

fprintf(fid,'\r\n');
fprintf(fid,'%s\n','<BODY>');
fprintf(fid,'%s\n','<P ALIGN="CENTER">');
fprintf(fid,'%s%s%s\n','<A HREF="#"><img src="',F{1},'" height=480 border="0" name="img1" size></A>');
% Default starting file is first in list !  Change default 'height' and/or add 'width=' as desired

fprintf(fid,'\r\n');
fprintf(fid,'%s\n','<P ALIGN="CENTER"><CENTER>');
fprintf(fid,'%s\n','<TABLE CELLSPACING=0 BORDER=0>');
fprintf(fid,'%s\n','<TR>');
fprintf(fid,'%s\n','<TD VALIGN="CENTER">');
fprintf(fid,'%s\n','<P ALIGN="CENTER">');
fprintf(fid,'%s\n','<FORM NAME="1" onSubmit="return roll_over(-1);">');
fprintf(fid,'%s\n','<INPUT TYPE=submit VALUE="<<< Back">'); % Change back button label here !
fprintf(fid,'%s\n','</FORM>');
fprintf(fid,'%s\n','</TD>');
fprintf(fid,'%s\n','<TD VALIGN="CENTER">');
fprintf(fid,'%s\n','<P ALIGN="CENTER">');
fprintf(fid,'%s\n','<FORM NAME="2" onSubmit="return roll_over(1);">');
fprintf(fid,'%s\n','<INPUT TYPE=submit VALUE="Next >>>">'); % Change forward button label here !
fprintf(fid,'%s\n','</FORM>');
fprintf(fid,'%s\n','</TD>');
fprintf(fid,'%s\n','</TR>');
fprintf(fid,'%s\n','</TABLE>');

fprintf(fid,'%s\n','</BODY>');
fprintf(fid,'%s\n','</HTML>');

fclose(fid);

fprintf('%s\n','Done !  Now view slideshow.html in web browser');
exitmsg = 'Done!';

if nargout>=1; varargout{1} = exitmsg; end

Contact us at files@mathworks.com