在ImageView中的image,可以使用getWidth()和getHeight()来获取宽度和高度,但是获得的image宽度和高度不是很精确的;对于背景,你首先要获取背景的Drawable对象,然后将Drawable对象转换为BitmapDrawable,这样你就可以将背景作为Bitmap对象并获取其宽度和高度了。代码如下:Bitmap b = ((BitmapDrawble)imageViewgetBackground())getBitmap(); int w = bgetWidth(); int h = bgetHeight(); or do like this wayimageViewsetDrawingCacheEnabled(true); Bitmap b = imageViewgetDrawingCache(); int w = bgetWidth(); int h = bgetHeight(); 或者也可以像下面这样:imageViewsetDrawingCacheEnabled(true); Bitmap b = imageViewgetDrawingCache(); int w = bgetWidth(); int h = bgetHeight(); 上面的代码仅仅可以为你获取当前ImageView的大小:imageViewgetWidth(); imageViewgetHeight(); 如果你要获取Drawable image对象的大小,可用如下代码:Drawable d = getResources()getDrawable(Rdrawableyourimage); int h = dgetIntrinsicHeight(); int w = dgetIntrinsicWidth();
用 JavaScript 准确获取手机屏幕的宽度和高度
documentdocumentElementclientWidth; documentdocumentElementclientHeight;
这个得到的是设备像素可见宽高,比如iPhone 4s在微信内设置了viewport为1的时候为320416(手机480 - 微信状态栏64), iPhone 5里为320504
小部分手机获取到的宽高并不正确。比如上面说的screenwidth screenheight这些数据在有的手机上并不准确
Visual C++中获取屏幕宽和高的函数为GetSystemMetrics(int nIndex),其结果为像素值。其中索引值nIndex在获取屏幕宽时为SM—CXSCREEN,在获取屏幕高时为SM—CYSCREEN。举例如下:
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{ // 设置窗口风格
//
// 设置窗口位置
csx=GetSystemMetrics(SM—CXSCREEN) /2;
csy=GetSystemMetrics(SM—CYSCREEN) /2;
//设置窗口的宽和高(屏幕宽和高的一半)
cscx=GetSystemMetrics(SM—CXSCREEN)/2;
cscy=GetSystemMetrics(SM—CYSCREEN)/2;
return CFrameWnd::PreCreateWindow(cs);}
在第一次运行出来的位置在自己想要的位置
用MoveWindow 和SetWindowPos
SetWindowPos可以完成MoveWindow的功能,也能完成MoveWindow不能完成的功能
MoveWindow只是移动窗口的位置和大小
SetWindowPos还可以设置窗口的Z-ORDER、显示隐藏窗口等等
字符串的宽高长度是木有的
你说的这个应该是在某个地方画出来后那么这里的字就会有宽高了比如在你桌面上面的字符串,或者游戏里面那些字是画出来的那么也有了宽度
这个是有了这个Font 这个字体类才有字符串的宽高概念出现
fontgetHeight(); //得到字高
fontstringWidth(Strng s); //得到s字符串的总宽
我是做手机游戏有时候会用的计算字符串的宽高所以不知道你想知道是不是这个
以上就是关于怎么拿到 drawable 的 宽高全部的内容,包括:怎么拿到 drawable 的 宽高、怎样用 JavaScript 准确获取手机屏幕的宽度和高度、vc中怎样得到电脑屏幕的宽和高等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)