Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %Resolution of monitors. Monitor 1 is on the left
- p1x = 1440;
- p1y = 900;
- p2x = 1980;
- p2y = 1080;
- %Diagonal sizes in inches
- diag1 = 19;
- diag2 = 23.6;
- D1 = sqrt(p1x^2 + p1y^2);
- D2 = sqrt(p2x^2 + p2y^2);
- %Scaling ratio - higher values mean the wallpaper is larger than the
- %monitor, but scaled down when set as a background
- aaratio = 1.59;
- %Calculates the microns per pixel for each monitor
- mpp1 = diag1*25400/D1;
- mpp2 = diag2*25400/D2;
- pixels1x = round(p1x*mpp1/mpp2*aaratio);
- pixels1y = round(p1y*mpp1/mpp2*aaratio);
- pixels2x = round(p2x*aaratio);
- pixels2y = round(p2y*aaratio);
- %The offset from the corner of the image to take the first corner of the
- %first monitor
- offsetx = 1;
- offsety = 1500;
- %The gap in pixels between the two monitors
- gapx = round(150*aaratio);
- gapy = round(-110*aaratio);
- I = imread('inputfilename.jpg');
- I1 = I(offsety:offsety + pixels1y - 1, offsetx:offsetx + pixels1x - 1,:);
- I2 = I(offsety + gapy:offsety + gapy + pixels2y - 1, offsetx + pixels1x + gapx:offsetx + pixels1x + gapx + pixels2x - 1,:);
- imagesc(I)
- rectangle('Position', [offsetx offsety pixels1x - 1 pixels1y - 1], 'EdgeColor', 'white')
- rectangle('Position', [(offsetx + pixels1x + gapx) (offsety + gapy) pixels2x - 1 pixels2y - 1], 'EdgeColor', 'white')
- rectangle('Position', [1 1 offsetx offsety], 'LineStyle', '--', 'EdgeColor', 'white')
- imwrite(I1, 'outputfilename.jpg', 'jpg')
- imwrite(I2, 'outputfilename.jpg', 'jpg')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement