注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沉默蜂B4A安卓编程

国内资料最全的B4A资料库

 
 
 

日志

 
 

[例程]图片按比例缩放居中显示2  

2016-12-31 21:07:08|  分类: 图形图像 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
ImageMod模块代码如下:

'imagemod代码模块
':kanaida(作者)
'创造的9 / 10 / 2013
'版本:1
'类模块
Sub Class_Globals

End Sub

'初始化对象。您可以添加参数,这种方法如果需要。
Public Sub Initialize

End Sub

' 复制图像从pic_src为pic_dst所以它适合
' 有相同的纵横比和原始图片。
Public Sub FitBitmapToView(pic_src As Bitmap, pic_dst As View) As Bitmap
'原始来源:http://www.vb-helper.com/howto_fit_picture_to_box.html
'移植:kanaida
'创建:9 / 10 / 2013
'描述:原来做的工作与imagedownloader服务
'适合位图到目标imageviews

Dim aspect_src As Float
Dim wid As Float
Dim hgt As Float
' “获得原始图片的长宽比。
aspect_src= pic_src.Width / pic_src.Height

' 得到的大小可用。
wid =pic_dst.Width
hgt =pic_dst.Height

' 调整wid/ hgt比相匹配aspect_src。
If wid / hgt < aspect_src Then '如果是<号,表示超出的将剪裁掉;如果是>号,表示内缩,空白的地方以白色填充
' “这个地区太短而宽。
' 让它更窄。
wid = aspect_src * hgt
Else
' 这个地区太高又瘦。
' 让它短。
hgt = wid / aspect_src
End If
' 中心在正确的大小的图像。
Dim b2 As Bitmap
b2.InitializeMutable(pic_dst.Width,pic_dst.Height)
Dim c As Canvas
c.Initialize2(b2)
Dim r1 As Rect
r1.Initialize(0,0,pic_src.Width,pic_src.Height)
Dim Left As Float =(pic_dst.Width - wid) /2
Dim Top As Float = (pic_dst.Height - hgt) /2
Dim Right As Float = Left+wid
Dim Bottom As Float = Top+hgt
Dim r2 As Rect
r2.Initialize(Left,Top,Right,Bottom)
'你可以让背景色的东西。
'我不需要它作为一个参数。
c.DrawColor(Colors.White) '填充色(也是背景色)
c.DrawBitmap(pic_src,r1,r2)
Return b2
End Sub
  评论这张
 
阅读(37)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017