Androud图片放大缩小处理

本文介绍了一种通过按钮实现图片缩放的功能,包括图片的原始尺寸获取、高宽比例计算以及基于屏幕尺寸的缩放逻辑。通过矩阵操作进行图片的等比例缩放,并在不同缩放级别下调整按钮的可用状态。
private ImageView big_image;
/*
* 原图片宽 原图片高
*/
private int primary_width, primary_height;
/*
* 高宽比例
*/
private double scaleWidth = 1, scaleHeight = 1;
private Bitmap bitmap;
float scale = 0.2f;
private Button big_button, small_button;
@Override
protected void onCreate(Bundle instance)
{
super.onCreate(instance);
setContentView(R.layout.big);
initResource();
setListener();
}
private void setListener()
{
big_button.setOnClickListener(big_button_listener);
small_button.setOnClickListener(small_button_listener);
}
private OnClickListener big_button_listener = new OnClickListener()
{
@Override
public void onClick(View view)
{
scale(1.25,1.25);
}
};
private OnClickListener small_button_listener = new OnClickListener()
{
@Override
public void onClick(View view)
{
scale(0.8,0.8);
}
};
private void initResource()
{
big_button = (Button) findViewById(R.id.big_button);
small_button = (Button) findViewById(R.id.small_button);
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.c1);

primary_width = bitmap.getWidth();
primary_height = bitmap.getHeight();

big_image = (ImageView) findViewById(R.id.big_image);
big_image.setImageBitmap(bitmap);
}
private void scale(double scale_width, double scale_height)
{
Display display = getWindowManager().getDefaultDisplay();

big_image = (ImageView) findViewById(R.id.big_image);
int re_width = big_image.getWidth();
int re_height = big_image.getHeight();
if((scale_width > 1 && scaleWidth * re_width >= display.getWidth()) ||
(scale_height > 1 && scaleHeight * re_height >= display.getHeight()))
{
big_button.setEnabled(false);
}
else
{
big_button.setEnabled(true);
}
scaleWidth = scaleWidth * scale_width;
scaleHeight = scaleHeight * scale_height;

/*
* 矩阵,用于图片比例缩放
*/
Matrix matrix = new Matrix();
/*
* 设置高宽比例(三维矩阵)
*/
matrix.postScale((float)scaleWidth, (float)scaleHeight);

/*
* 参数说明:
* Bitmap source:要从中截图的原始位图
* int x:起始x坐标
* int y:起始y坐标
* int width:要截的图的宽度
* int height:要截的图的宽度
* boolean filter:
* 返回值:返回一个剪切好的Bitmap
*/
Bitmap newBmp = Bitmap.createBitmap(bitmap, 0, 0, primary_width, primary_height, matrix, true);

big_image.setImageBitmap(newBmp);
}
内容概要:本文提出了一种计及并网波动约束和储能荷电状态(SOC)的混合储能功率协调控制方法,并提供了完整的Matlab代码实现。该方法针对新能源并网系统中存在的功率波动问题,充分发挥超级电容器动态响应快与电池能量密度高的互补优势,通过设计合理的协调控制策略实现两者的功率动态分配。控制算法综合考虑了电网对并网功率波动的安全限值要求以及储能单元荷电状态的实时变化,构建了以平抑功率波动、均衡储能SOC、延长系统寿命为核心的多目标优化机制。文中详细阐述了混合储能系统的数学建模过程、功率分配逻辑设计、控制策略实现流程及仿真验证方案,通过对比实验验证了所提方法在降低并网功率波动幅度、维持储能系统能量平衡、提升电能质量和系统运行稳定性方面的优越性能。; 适合人群:具备一定电力系统分析、新能源并网技术或储能控制系统基础知识的研究生、科研人员及从事相关领域工程开发的技术人员。; 使用场景及目标:①应用于高比例可再生能源接入的微电网或配电网中,实现并网功率的平滑控制;②用于电池-超级电容等混合储能系统的能量管理与优化控制研究;③作为Matlab仿真教学案例或科研复现资料,帮助深入理解储能协调控制策略的设计原理与实现细节。; 阅读建议:读者应结合所提供的Matlab代码进行仿真实践,重点剖析低通滤波与高频补偿相结合的功率分配机制及SOC反馈调节环节的实现逻辑,建议在掌握基本控制理论的基础上,调整参数设置或拓展系统模型以适应不同的应用场景与研究需求。
内容概要:本文研究了构网型GFM-VSG与跟网型GFL-PQ逆变器混合并联并网的仿真系统,重点探讨了在Simulink环境下构建该系统的模型与控制策略。文中深入分析了构网型(Grid-Forming, GFM)采用虚拟同步发电机(VSG)控制和跟网型(Grid-Following, GFL)采用PQ控制的两类逆变器在并网运行中的协同机制与动态交互特性。通过建立高精度的仿真模型,系统研究了其在稳态运行、电网电压不平衡、频率波动及负载突变等动态工况下的响应性能。研究聚焦于提升混合系统在复杂电网环境中的稳定性、电能质量与功率精确分配能力,深入剖析了GFM与GFL逆变器之间的电压、频率支撑与功率振荡抑制等关键问题,旨在为高比例新能源接入背景下多类型变流器并网系统的稳定运行与优化设计提供坚实的理论依据和技术支持。; 适合人群:具备电力电子、自动控制或电气工程相关背景,熟悉Simulink/Matlab仿真工具,从事新能源并网、微电网控制、逆变器控制策略研究的研发人员及研究生。; 使用场景及目标:① 研究GFM与GFL逆变器在混合并联系统中的协同控制逻辑与稳定性机理;② 分析不同控制策略下系统在弱电网、不平衡电网等非理想条件下的动态响应、功率振荡及频率支撑能力;③ 为实际工程中多类型逆变器并网系统的建模、仿真验证与控制策略优化提供参考方案。; 阅读建议:建议结合Simulink仿真模型同步阅读,重点关注控制架构设计、系统交互影响与仿真结果分析部分,深入理解GFM-VSG与GFL-PQ的接口逻辑、动态耦合机制,并可通过修改控制参数复现不同工况以加深对系统稳定边界的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值