标签: android-bitmap

android如何将pdf转换为图像并加载到imageview中

我正在开发一个Android应用程序从j son获取PDF并将PDF文件转换为图像并在图像视图上显示转换后的图像.(不是Web视图或PDF查看器)

我需要将PDF转换为图像并将图像加载到imageview上.那可能吗??我怎样才能完成这项任务.我跟着这个这个.

感谢任何帮助..

pdf android android-imageview android-bitmap

7
推荐指数
1
解决办法
3392
查看次数

捕获MediaProjection虚拟显示器输出到ImageReader的系统错误

我正在开发一个需要捕获屏幕到位图进行传输的应用程序.我正在尝试使用新的Android 5.0 android.media.projection API来进行屏幕捕获.

此API的工作流程最终会调用

mediaProjection.createVirtualDisplay("Test Screen", WIDTH, HEIGHT, DPI,
   DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, surface, null, null);
Run Code Online (Sandbox Code Playgroud)

在我最初尝试捕获时,我从SurfaceView中获取了表面对象.这工作正常; 最终结果是在屏幕上绘制的显示器的微小副本(导致Droste效果)

我认为这个功能几近完成,但我发现 SurfaceViews(从代码的角度来看)是不可读的; 你不能从他们那里得到一个位图.

在寻找其他解决方案时,我遇到了这个与我的目标非常相似的问题,并且在该线程中建议使用ImageReader而不是SurfaceView来获取传递给createVirtualDisplay API调用的Surface.

但是,当我更改我的代码以使用ImageReader代替SurfaceView时,我得到运行时logcat错误(没有异常),并且永远不会调用ImageReader的回调函数.createVirtualDisplay调用还返回一个看似有效的VirtualDisplay对象.

这是logcat:

9230-9270/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: createGraphicBuffer failed
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? [unnamed-9230-0] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
9230-9246/com.android.techrocket9.nanoid E/BufferQueueProducer? …
Run Code Online (Sandbox Code Playgroud)

java android android-bitmap android-5.0-lollipop nexus6

7
推荐指数
1
解决办法
3679
查看次数

Alpha属性仅适用于Android Lollipop,为什么?

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    android:src="@drawable/ic_action_remove"
    android:alpha="0.4"
    xmlns:android="http://schemas.android.com/apk/res/android">

</bitmap>
Run Code Online (Sandbox Code Playgroud)

这段代码仅适用于android API 21(棒棒糖).

有没有办法在以前的版本中为drawables设置alpha?

android android-animation android-bitmap

7
推荐指数
1
解决办法
467
查看次数

可以移动平铺背景吗?(使用TileMode.REPEAT进行无限滚动)

我正在开发一款游戏

首先我的游戏将非常简单,所以我宁愿不使用库或opengl或canvas,我宁愿用简单的图像视图或普通视图来实现这一点,或者至少以最简单的方式实现.例如,使用android位图平铺模式:

public static void setBackground(Bitmap bmp, ViewGroup layout){
    BitmapDrawable bitmapDrawable = new BitmapDrawable(bmp);
    bitmapDrawable.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT);
    layout.setBackgroundDrawable(bitmapDrawable);
}
Run Code Online (Sandbox Code Playgroud)

我想开发一个简单的2D/3D混合太空飞船游戏.屏幕将是太空飞船驾驶舱的视野,你将移动宇宙飞船触摸我已经完成的操纵杆.所以背景将是一个宇宙背景,我的意思是一个巨大的黑色图像与星星,这个图像必须移动到所有方向,操纵杆模拟太空船正在改变它的方向,当你向右移动很多时,例如,背景图像必须从头开始模拟太空船仍在向右移动而没有任何限制

正如我所提到的,我现在有了操纵杆,我知道如何使用操纵杆移动图像视图,问题是我不知道如何正确地创建带有图块的无限图像视图,因为当我移动包含图块的图像时可以移动然后图像从屏幕上消失.

这是使用无限背景的图像示例:

在此输入图像描述

android bitmap tile infinite-scroll android-bitmap

7
推荐指数
1
解决办法
823
查看次数

从mysql-php(android)中检索图像

我在图像表字段中有一个图像,我想在我的应用程序我的PHP页面使用该图像

$user = array();
$user["image"] = base64_encode($result["image"]);
// success
$response["success"] = 1;

// user node
$response["image_table"] = array();

array_push($response["image_table"], $user);
Run Code Online (Sandbox Code Playgroud)

当我在我的应用程序中使用该数组时,我使用此...

if (success == 1)
{
    address = json.getJSONArray(TAG_IMAGE_TABLE);
    for (int i = 0; i < address.length(); i++) {
    JSONObject c = address.getJSONObject(i);
    image = c.getString(TAG_IMAGE);

} 
Run Code Online (Sandbox Code Playgroud)

它给我的结果如

json response: {"success":1,"image_table":     [{"image":"iVBORw0KGgoAAA...................."
Run Code Online (Sandbox Code Playgroud)

当我在我的图像视图中使用此图像时,我会使用它

ImageView ivProperty = ((ImageView) myContentView.findViewById(R.id.image_property));

byte[] decodedString;
try {
        decodedString = Base64.decode(image, Base64.URL_SAFE);
        Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
        ivProperty.setImageBitmap(decodedByte);
    } catch (IOException e) {
// TODO …
Run Code Online (Sandbox Code Playgroud)

php mysql android android-imageview android-bitmap

7
推荐指数
1
解决办法
1188
查看次数

如何在Bitmap周围创建浮雕?

流行游戏Words with Friends在游戏板上绘制字母拼贴作为单个实体 -

您可以在以下屏幕截图中看到应用于所有字母图块的黄色线性渐变,以及边缘上的浮雕效果:

应用截图

我的文字游戏中,我希望有类似的效果:

浮雕的例子

所以我创建了一个游戏板大小mBitmap,然后将所有图块绘制到其中,最后将位图绘制到我的自定义视图中 -

建立:

setLayerType(View.LAYER_TYPE_SOFTWARE, null);

// create yellow linear gradient
mGradStart = new Point(3 * mWidth / 4, mHeight / 3);
mGradEnd = new Point(mWidth / 4, 2 * mHeight / 3);
LinearGradient gradient = new LinearGradient(
        mGradStart.x,
        mGradStart.y,
        mGradEnd.x,
        mGradEnd.y,
        new int[]{ 0xCCFFCC00, 0xCCFFCC99, 0xCCFFCC00 },
        null,
        TileMode.CLAMP);

// create the big bitmap holding all tiles
mBitmap = Bitmap.createBitmap(mWidth, mHeight, Bitmap.Config.ARGB_8888);
mCanvas = …
Run Code Online (Sandbox Code Playgroud)

android bitmap emboss porter-duff android-bitmap

7
推荐指数
1
解决办法
1409
查看次数

为什么基本的Android应用程序内存中有数百个位图?

在构建我的第一个Android应用程序时,我注意到应用程序启动时内存使用率已接近20MB.我下载了Eclipse MAT并查看了内容,以便在内存中找到数百个(如果不是数千个)位图.其中很多都没有直接用在我的项目中(至少不是我所知道的那么多)

最大图像为9MB:https: //imagebin.ca/v/2eCK4JYLO2f2

其他更小:https: //imagebin.ca/v/2eCMmbFuIWsz

Android似乎已经竭尽全力通过使用zygote来减少内存...那么为什么内存中已经有这么多未使用的位图呢?

(基本项目是使用Android Studio的空白活动,片段由文本视图组成,简单地说"Hello World!")

android android-memory android-bitmap

7
推荐指数
1
解决办法
96
查看次数

模糊屏幕截图中的矩形

我正在开发一个 Android 应用程序,它使用背景Service以编程方式捕获当前屏幕上任何内容的屏幕截图。我将屏幕截图作为Bitmap.

接下来,我成功地将OpenCV导入到我的 Android 项目中。

我现在需要做的是模糊该图像的一个子集,即不是整个图像本身,而是图像内的 [矩形] 区域或子区域。我有一组Rect对象,代表我需要在屏幕截图中模糊的矩形区域。

我一直在寻找有关在 Java 中使用 OpenCV 执行此操作的教程,但我还没有找到明确的答案。在MatImgproc类是明显的利益的,而还有的Mat.submat()方法,但我一直无法找到能完成这一操作清晰,简单的教程。

我在谷歌上搜索了很多,我发现的例子都不是完整的。我需要在 Java 中在 Android 运行时中执行此操作。

我需要的是:Bitmap>>> Mat>>> Imgproc>>> Rect>>> BitmapROI 模糊。

这里有任何经验丰富的 OpenCV 开发人员,你能指出我正确的方向吗?这是我唯一坚持的事情。

相关

使用 OpenCV 进行高斯模糊:仅模糊图像的一个子区域?.

如何使用 OpenCv 模糊矩形

如何在 Android 中模糊图像的某些部分?.

android opencv android-bitmap gaussianblur

7
推荐指数
1
解决办法
495
查看次数

如何才能第二次正确保存我的位图?

我想将我的位图保存到缓存目录.我用这个代码:

try {
        File file_d = new File(dir+"screenshot.jpg");
        @SuppressWarnings("unused")
        boolean deleted = file_d.delete();
    } catch (Exception e) {
        // TODO: handle exception
    }

    imagePath = new File(dir+"screenshot.jpg");
    FileOutputStream fos;
    try {
        fos = new FileOutputStream(imagePath);
        bitmap.compress(CompressFormat.JPEG, 100, fos);
        fos.flush();
        fos.close();
    } catch (FileNotFoundException e) {
        Log.e("GREC", e.getMessage(), e);
    } catch (IOException e) {
        Log.e("GREC", e.getMessage(), e);
    }
}
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,如果我想将不同的img保存到相同的路径,那么就会出现问题.我的意思是它被保存到相同的路径,但我看到它的旧图像,但当我点击图像,我可以看到我第二次保存的正确图像.

也许它来自缓存,但我不想看到旧图像,因为当我想与whatsapp旧图像共享该图像时,如果我发送图像似乎是正确的.

我想在whatsapp上分享已保存的图像,如下代码:

Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(imagePath));
shareIntent.setType("image/jpeg");
startActivityForResult(Intent.createChooser(shareIntent, getResources().getText(R.string.title_share)),whtsapp_result);
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

提前致谢.

android android-layout android-imageview android-file android-bitmap

6
推荐指数
1
解决办法
303
查看次数

Android:我们可以使用 glide 压缩图像吗?

在发送到服务器之前,是否可以使用滑翔来压缩从图库中选取或由相机捕获的图像。

换句话说,可以像这样压缩图像:

1) 使用 glide 读取 uri 并更改为位图。

2) 检查位图的大小。

3) 使用 Bitmap.creatScaledBitmap(....) 调整位图的大小。

4) 位图质量较低。

5)然后发送。

是否可以?

如果我已经按照旧方式这样做,我会得到什么好处:

1) 从文件中获取位图。

2)与上面相同的东西......

谢谢。

android android-bitmap android-glide

6
推荐指数
0
解决办法
1049
查看次数