zoukankan
html css js c++ java
Asp.Net中图片大小的缩放
在Asp.Net中显示图片的时候,如果给定一个固定大小的容器,如<Table>,图片的大小如何根据容器的大小进行比例缩放呢。以下是一个比较简单的函数,根据图片的宽高比例进行计算,缩放后保持比例不变。
//
ViewSize 外框大小
//
ImageSize 图片的实际大小
public
Size Resize(Size ViewSize, Size ImageSize)
{
Size MySize
=
new
Size();
if
(ViewSize.Width
>
ViewSize.Height)
//
宽大于高
{
if
(ImageSize.Width
>
ImageSize.Height)
//
按比例
{
float
scale
=
ImageSize.Height
/
(
float
)ImageSize.Width;
if
(ViewSize.Height
/
(
float
)ViewSize.Width
<
scale)
{
MySize.Height
=
ViewSize.Height;
MySize.Width
=
(
int
)(ViewSize.Height
/
scale);
}
else
{
MySize.Width
=
ViewSize.Width;
MySize.Height
=
(
int
)(ViewSize.Width
*
scale);
}
}
else
if
(ImageSize.Height
>
ImageSize.Width)
//
非比例
{
float
scale
=
ImageSize.Width
/
(
float
)ImageSize.Height;
MySize.Height
=
ViewSize.Height;
MySize.Width
=
(
int
)(ViewSize.Height
*
scale);
}
else
//
正方
{
MySize.Height
=
ViewSize.Height;
MySize.Width
=
ViewSize.Height;
}
}
else
if
(ViewSize.Width
<
ViewSize.Height)
//
高大于宽
{
if
(ImageSize.Width
<
ImageSize.Height)
//
按比例
{
float
scale
=
ImageSize.Width
/
(
float
)ImageSize.Height;
if
(ViewSize.Width
/
(
float
)ViewSize.Height
<
scale)
{
MySize.Width
=
ViewSize.Width;
MySize.Height
=
(
int
)(ViewSize.Width
/
scale);
}
else
{
MySize.Height
=
ViewSize.Height;
MySize.Width
=
(
int
)(ViewSize.Height
*
scale);
}
}
else
if
(ImageSize.Height
<
ImageSize.Width)
//
非比例
{
float
scale
=
ImageSize.Height
/
(
float
)ImageSize.Width;
MySize.Width
=
ViewSize.Width;
MySize.Height
=
(
int
)(ViewSize.Width
*
scale);
}
else
//
正方
{
MySize.Height
=
ViewSize.Width;
MySize.Width
=
ViewSize.Width;
}
}
else
//
正方
{
if
(ImageSize.Width
>
ImageSize.Height)
//
宽大于高
{
float
scale
=
ImageSize.Height
/
(
float
)ImageSize.Width;
MySize.Width
=
ViewSize.Width;
MySize.Height
=
(
int
)(ViewSize.Width
*
scale);
}
else
if
(ImageSize.Width
<
ImageSize.Height)
//
高大于宽
{
float
scale
=
ImageSize.Width
/
(
float
)ImageSize.Height;
MySize.Height
=
ViewSize.Height;
MySize.Width
=
(
int
)(ViewSize.Height
*
scale);
}
else
//
正方
{
MySize.Height
=
ViewSize.Height;
MySize.Width
=
ViewSize.Height;
}
}
return
MySize;
}
查看全文
相关阅读:
IIC时序和24C02读写字节时序
Labview-vi的可重入性
Labview笔记-创建自定义控件
非院校科研机构如何查阅下载文献?
【转】经典的图像去噪算法NLM和BM3D算法
【转载】计算机科学最重要的32个算法
图像存储方式
二维物体形状识别方法比较
论static关键词
论引用
原文地址:https://www.cnblogs.com/faib/p/754191.html
最新文章
C语言实验4
C语言实验3
C语言实验2
day7
day5
day4
day2
day6
day1
day0
热门文章
day3
20180427
20180426
UDP发送方接收方模拟的Java程序
TCP客户端服务器端简单模拟Java编程
短期与长期中的租金控制分析
农业生产率的提高是如何鼓励人们离开农业的?
经济学十大原理
Labview事件结构
Labview多列列表框
Copyright © 2011-2022 走看看