【问题标题】:Bitmap from String来自字符串的位图
【发布时间】:2011-11-08 05:16:11
【问题描述】:

有没有办法或如何使用 Java 获取字符串并从中创建位图以用于 Android 开发?

我查看了用于位图的 java api,但找不到任何东西

【问题讨论】:

  • 字符串是什么意思?您是在谈论 base64 编码字符串之类的东西吗?
  • 只是测试,一个字符数组。我只需要创建一个 96 x 96 px 大的位图
  • 您可以从任何来源(包括字符串)创建位图并设置像素值。如何做到这一点完全取决于字符串中的内容以及您想要它的含义。你能说得更具体点吗?

标签: java android string bitmap


【解决方案1】:

你可以像使用位图工厂的decodebytearray方法

byte[] imageAsBytes = Base64.decode(myImageData.getBytes());
Bitmap bp = BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length);

其中 myImageData 是 base64 字符串。

如果你有一个数组,只需将它传递给 decodeByteArray 方法。

【讨论】:

    【解决方案2】:

    通过创建位图在画布上绘制文本。

    【讨论】:

      【解决方案3】:

      假设您的图像数据在一个名为 myImageData 的字符串中,以下应该可以解决问题:

      byte[] imageAsBytes = Base64.decode(myImageData.getBytes());
      ImageView image = (ImageView)this.findViewById(R.id.ImageView);
      image.setImageBitmap(
              BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length)
      );
      

      对于 Base64 解码,您可以使用 http://iharder.sourceforge.net/current/java/base64/,因为 Android 在 2.2 之前不包含 Base64 支持。

      请注意,我实际上并没有运行此代码,因此您必须仔细检查错误。

      更多链接: 使用画布 http://developer.android.com/reference/android/graphics/Canvas.html

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-06
      • 2013-02-18
      • 2013-01-12
      • 1970-01-01
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多