改变figure大小存储图片(matlab)

figure图片存储的时候,使用saveas命令,如果不做设定,只能存储默认大小,但是有的时候需要存储特定比例拉伸的图片。

matlab里面figure相关对象的关系是: screen→figure→axis,所以在设置图片大小的时候,先设定figure相对于screen的位置和大小,然后设定axes相对于figure的位置和大小。

图画出来之后,如下命令就可以储存特定大小的图片。下面给出两种方法。

法一  截图

%=========================================================

set(gcf,‘position‘,[100,100, 500, 300]);         %设定figure的位置和大小    get current figure

set(gcf,‘color‘,‘white‘);                           %设定figure的背景颜色

A=getframe(gcf);

imwrite(A.cdata,‘try.png‘)                          %存储调整过大小的图片

%==================================================

还可以根据需求调整坐标轴的位置和大小,比如不想要白边一类

%====================================================

set(gca,‘DataAspectRatio‘,[3,4,1]);                  %调整坐标轴比率     get current axes

set(gca,‘position‘,[0,0,1,1]);                        %调整坐标轴位置

%======================================================

最后说明一下,saveas存储的大小是默认大小,imwrite相当于截屏;存图片的时候要养成好习惯,顺便存一个figure,以方便以后修改。

saveas(gcf,‘tt.fig‘);

法二 设定保持长宽比存图

如果要发表paper,上面这种做法就不可取了,因为存下的图片是截图;不少杂志(比如PR系列),直接说了,Not Screen!(截图丢失信息,不方便出版方的再次排版一类)。

图片画出来以后,执行以下命令,就可以保持长宽比率保存图片(但是图片的绝对大小会变化)。

set(gcf,‘color‘,‘white‘,‘paperpositionmode‘,‘auto‘);

saveas(gcf,‘exprimentLightBundles.eps‘,‘psc2‘);

时间: 2024-08-08 07:40:39

改变figure大小存储图片(matlab)的相关文章

SQL 2008存储图片和SQL 2008读取图片

用SQL Server存储文字数据很容易实现,如果用SQL Server存储图片呢?大家有没有实现思路呢?现在我用一个Demo来为大家提供一种在SQL Server中存储图片的思路. 场景:在superPhoto文件夹中,有三位NBA超级巨星的图片需要存储在数据库中,他们分别是保罗.罗斯和德隆,文件内容如下: 有了需求,下面讲实现.实现过程分为3个步骤. 步骤1:我们需要在数据库test中建立T_superStar表,并向表中插入三位球星的信息. create table T_superStar

减小App大小:图片篇

App大小是受产品经理关注的,因为部分用户会由于下载时间.流量耗费等而倾向于较小的app,这点尤其在网络速度较差或资费较贵的国家比较明显,比如印度. 有不少的app,其中占空间最大的是资源文件,通常是图片. 我们最近的一个app就比较关注图片资源的大小,并有了以下几点的经验,包括iOS和Android. 1. 不用图片实现 有些简单的图形,是可以通过一些简单的编程做出来的,比如分割线.四周圆角. 在iOS里,一些简单的折线用Bezier Path也可以很容易的画出来的. 当然这里要有个限度,太复

javascript动画系列第四篇——拖拽改变元素大小

× 目录 [1]原理简介 [2]范围圈定 [3]大小改变[4]代码优化 前面的话 拖拽可以让元素移动,也可以改变元素大小.本文将详细介绍拖拽改变元素大小的效果实现 原理简介 拖拽让元素移动,是改变定位元素的left和top值实现的.而拖拽改变元素大小,则还需要改变元素的宽高 范围圈定 我们把改变元素大小的范围圈定在距离相应边10px的范围内 左侧边界L = obj.offsetLeft + 10 右侧边界R = obj.offsetLeft + obj.offsetWidth - 10 上侧边界

安卓图片的异步请求及使用LruCache缓存和手机内存两层存储图片,避免重新加载页面带来的重新请求

看到网友的一片技术博客讲解了LruCache的使用,我把它加到了我的项目中,但是加入断点发现,列表上下滑动时,确实可以不用重新加载图片,但是重新打开这个activity或者重新启动应用,LruCache的缓存都不再存在,而需要重新联网下载,所有我对这个方法加以改进,加入了一层往手机内存存储图片的过程. 这样的话,使用图片时,先从LruCache中加载,如果LruCache中不存在该图片资源的话,再从手机存储中进行加载,如果同样不存在,则先显示一个默认图片. 另一方面,我的项目使用图片的是list

葡萄城页面报表通过表达式来改变字体大小

如题,做报表时候,有时候要根据是否是合计行,来改变合计行的粗细,大小. 可以通过字体的表达式来实现: 表达式的通用写法:  =iif( Fields!YourFieldName.Value operator "Value to compare", "If condition is met, use this value.", "If not, use this one.") 如果满足条件(第一个参数),则执行第二个参数,否则执行最后一个参数 例如

改变元素大小

<!DOCTYPE html><html><head> <title>改变元素大小</title> <style type="text/css"> div{ width: 200px; height: 200px; background-color: red; border: solid; /*如果想调整一个元素像textarea那样随意改变大小 我们可以使用resize 属性有 horizontal 可以改变元素

android 存储图片到data目录和读取data目录下的图片

public void storePic(String tabid, String key, Bitmap bitmap) { LogUtils.LOGD(TAG, "storePic begin tabid = " + tabid + "key = " + key); FileOutputStream fos = null; try { fos = getActivity().openFileOutput(tabid + "_" + key,

【Unity】改变向量的方向而不改变其大小

最近在做一个打砖块游戏时遇到一个小问题,就是小球有可能会在左右两个边界之间做循环往返运动而导致游戏无法继续进行下去,于是我打算让小球在垂直撞向边界时改变一下方向,但是速度不变,尝试了一些方法但是没有达到效果.后来想到,速度是一个向量,问题就变成了改变一个向量的方向而不改变它的大小,Google一下找到了这个旋转矩阵Wiki页面.虽然游戏是3D的但是只是在一个平面上运动,所以只需要下面这个旋转矩阵 用原向量矩阵[x,y]乘以旋转矩阵矩阵外积,左行乘右列代码如下 /// <summary> ///

cocos2d-x-3.x (3)简单改变界面大小

关于界面大小的改变,简单的加入一个操作就行了. glview->setFrameSize(480,480); 加入到这个底下,就是简单的改变屏幕大小.