问题标签 [bitmapdrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
214 浏览

android - 来自位图 API 的 setBackground 22+

我有一个应用程序,可以从用户图库中获取选定的图像并将其显示为应用程序中的背景。我已经成功使用了下面的代码。

虽然,自从我将我的应用程序更新到 API 22 后,它就停止了工作。我找到了如何设置背景

但它不起作用,因为 ContextCompat.getDrawable() 调用是针对 context 和 int 而不是 context 和 BitmapDrawable。

0 投票
0 回答
81 浏览

android - Horizo​​ntalScrollView 填充可重复图像

我有一个 Horizo​​ntalScrollview,我想要一个可重复的图像,所以我可以向左或向右无限滚动。这是我的 XML 代码

这是我的Java代码

但是,此代码仅显示一次图像并且不会重复。

我怎样才能做到这一点?

0 投票
1 回答
238 浏览

android - LRUCache BitmapDrawable

我正在使用 LruCache 来缓存我的应用程序中使用的许多小型 BitmapDrawables。问题是我使用图像的不同地方的尺寸不同。

当我从缓存中检索可绘制对象时,我设置了边界,然后将其设置为 ImageView 以具有正确的大小。

当我设置边界时,drawable 也会在其他地方调整大小。

我怎样才能在不使用的情况下解决这个问题drawable.getConstantState().newDrawable()?滚动列表视图时,从缓存的可绘制对象创建新的可绘制对象非常慢。

在 DynamicDrawableSpans 中使用了相同的图像,我无法在 span 本身上设置边界,只能直接在 drawable 上设置。

在单独的缓存中为不同的上下文缓存相同的可绘制图像是否明智?

0 投票
0 回答
42 浏览

path - 在android中使用路径重复平铺图像

我想使用路径创建像这张图片一样的框架 我想使用仅在水平上平铺的位图,有没有办法做到这一点,以便它只会在 X 上扩展,就像在 CSS 上重复 x 一样。我使用以下代码,但位图平铺水平和垂直。首先,我为 drawPath() 创建了四个绘制对象。然后我创建了四个路径对象来绘制矩形框架,我想用路径重复图像。

0 投票
0 回答
98 浏览

java - 从 ImageView 保存到文件时保留位图尺寸

我正在尝试将 a 中的可绘制对象保存ImageView到文件中。我使用 Glide 将图像加载到ImageView这样的位置:

如果ImageView包含 GIF,我可以使用以下方法将其保存到文件中而不会出现问题:

但是,如果ImageView包含静态图像 - 当我使用以下方法将其保存到文件时,尺寸不会保留:

上面的代码无法保持静态图像在 imageview 中的尺寸。

例如 - 注意 GIF 如何保持它在 内部的尺寸imageView

Screenshot_Of_Gif

但请注意,静态图像的大小是如何急剧扩大的:

Screenshot_Of_Static_Image

(在这两个示例中,我都向 Facebook Messenger 应用程序发送了一个文件,该应用程序用于在聊天中显示图像)。

虽然我的代码示例是在 Kotlin 中,但 Java 中的答案也会有所帮助。

更新 1 - 我用以下代码打印了位图和位图的宽度,ImageView它们是相同的。

但是高度/宽度的输出都是 315 和 300。

更新 2 -

将位图保存到这样的文件后,我打印了位图的宽度。宽度和高度仍然是 315 和 300。

0 投票
1 回答
703 浏览

android - 将 android 资产中的图像加载为位图并使用 glideV4 设置 ImaegView 时复制图像

我尝试从资产中检索位图,然后尝试使用 glide as 加载 Horizo​​ntal recyclerview 图像列表asBitmap()。我得到了重复的图像和不匹配的图像(加载错误的图像代替所需的图像)。下面的屏幕截图显示笔记本电脑和手机加载了相同的位图,而Footware 和 Bus 加载了错误的位 这里笔记本电脑和手机加载了相同的位图,而Footware和Bus加载了错误的位图.skipMemoryCache(true)

我想解决同样想使用滑翔缓存来加载图像。

尝试了此页面中建议的以下几点: Glide recyclerview loading duplicate image 1)我添加了占位符。2)清除位图--> Glide.with(context).clear(holder.imgcat);或使用holder.imgcat.setImageBitmap(null);3)skipMemoryCache(true)运行良好,但需要缓存来加载图像。

我在 set .diskCacheStrategy(DiskCacheStrategy.RESOURCE.diskCacheStrategy(DiskCacheStrategy.ALL).

skipMemoryCache(true)运行良好,但需要缓存来加载图像

0 投票
1 回答
1233 浏览

android - 如何修复 Android Bitmap 中已弃用的问题?

嗨,有人可以帮助我吗?我被困在这个找不到答案

具体来说,我收到此错误:

'getBitmap(ContentResolver!, Uri!): 位图!' 已弃用。在 Java 中已弃用

0 投票
1 回答
186 浏览

android - 为什么android中的启动画面不适合可用空间?

我正在使用闲置的 xml 作为 splashScreen

但是 png(splash)的宽度不适合屏幕宽度,如果我设置了重力属性,它会溢出,或者如果不设置重力,它会延伸到整个屏幕,我挖了整个堆栈溢出 2 天。我在这里做错了什么

0 投票
1 回答
104 浏览

java - 在 x 和 y 方向重复时设置 BitmapDrawable 的偏移量?

我正在制作一个 2D 平台游戏。我已经为平台创建了一个纹理,这意味着可以一遍又一遍地重复以填充整个平台,而不会重复。我的第一次尝试是手动从位图中绘制所有像素,但这会导致在移动平台时背景闪烁(移动和绘制线程是分开的,因此移动可以以特定速度运行,而 FPS 则不会) t需要受苦)。我发现这种技术效果更好:

但是,当平台充当“视孔”以透视位图时,位图似乎保持静止。我能想到的唯一解决方法是以某种方式“偏移”静态位图:

显然,这不是一个函数。在浏览文档时,我找不到可以做我想做的事。

为了召唤东西,BitmapDrawable 导致背景不随平台移动,使它看起来超级怪异。

提前致谢!

0 投票
1 回答
48 浏览

android - layer-list drawable 自动转换为 BitmapDrawable

我在 xml 中创建了一个可绘制 3 个位图可绘制对象的图层列表。当我尝试在 java 代码中检索该可绘制对象时,我收到一个BitmapDrawable对象,而不是一个LayerDrawable对象。

这是我的图层列表可绘制 XML 代码:

我在“Input_Field styleable xml”中声明了一个名为 iconBar 的属性,它应该包含对上述 LayerDrawable 的引用,这里是“Input_Field styleable xml”:

这是视图的 xml 代码,InputField它的属性 iconBar 持有对图层列表可绘制 iconbar_drawable 的引用:

我的java代码:

}

运行应用程序后,我收到以下运行时异常

谁能帮我理解这种奇怪的行为?