标签: bitmap

如何在android中将位图设置为ARGB_8888?

在我的 android 项目中,我从手机中的图像加载位图。然后我对其进行各种图像操作,例如裁剪、调整大小、编辑像素值。

但问题是位图的格式不是 ARGB_8888,所以它并没有真正存储 alpha 值。或者更确切地说,它始终将它们保持在 255。

如何加载 ARGB_8888 格式的位图?这是我加载和调整大小的代码。如何指定其中任何一种格式?

谢谢

private static Bitmap resize(Bitmap img, int newW, int newH) throws IOException {
    Bitmap resizedImg = Bitmap.createScaledBitmap(img, newW, newH, false);
    img.recycle();

    Bitmap newresizedImg = resizedImg.copy(Bitmap.Config.ARGB_8888, true);
    resizedImg.recycle();


    Pixel initialPixel = Function.getPixel(0, 0, newresizedImg, null);
    int a = initialPixel.getColor().getAlpha(); // -> 255
    newresizedImg.setPixel(0, 0, Pixel.getTransparentColor().getRGB());
    initialPixel = Function.getPixel(0, 0, newresizedImg, null);
    int new_a = initialPixel.getColor().getAlpha(); // -> 255

    return newresizedImg;
}

private static Bitmap getImage(String from) throws IOException {
    File …
Run Code Online (Sandbox Code Playgroud)

java android alpha bitmap

3
推荐指数
1
解决办法
2万
查看次数

如何将位图从 ImageView 保存到数据库 sqlite?

我正在尝试从数据库 sqlite 上的 ImageView 保存一个 Bitmat,但我做不到。

我保存字符串,但我不知道图像。

我的代码

BBDD 类

public class BBDD extends SQLiteOpenHelper
{

    String create = "CREATE TABLE info(usuario TEXT, " +
                                        "ma TEXT, " +
                                        "ti TEXT, " +
                                        "loc TEXT, " +
                                        "lati TEXT, " +
                                        "longi TEXT, " +
                                        "obs TEXT," +
                                        "date TEXT, " +
                                        "time TEXT, " +
                                        "in TEXT, " +
                                        "imgone BLOB, " +
                                        "imgtwo BLOB, " +
                                        "imgthree BLOB, " +
                                        "imgfour BLOB) ";

    public BBDD (Context contexto, String …
Run Code Online (Sandbox Code Playgroud)

sqlite android bitmap android-studio

3
推荐指数
1
解决办法
2万
查看次数

位图应该是 2 字节还是 4 字节对齐?

MSDN 文档似乎自相矛盾:

这里说:

对于未压缩的 RGB 格式,最小步幅始终是以字节为单位的图像宽度,四舍五入到最接近的 DWORD。

这里它说:

每条扫描线中的字节数。该值必须能被 2 整除,因为系统假定位图的位值形成一个字对齐的数组。

所以有时 MSDN 需要 4 字节对齐的步幅,有时它需要 2 字节对齐的步幅。哪个是对的?

更具体地说,在保存位图文件时,我应该使用 4 字节步幅还是 2 字节步幅?

c++ msdn bitmap bitmapfactory

3
推荐指数
1
解决办法
1621
查看次数

如何在Android中的位图图像上添加字符串?

我想drawTextToBitmap在位图图像上添加一个字符串。我有一个方法,这种方法在位图图像上工作成功将字符串放置在位图图像上。但我的位图图像非常小,像针标记图像。此函数根据位图高度和宽度设置字符串。我想放置字符串超过位图图像。所以请帮我解决问题。

我用来获取位图的以下方法:

public Bitmap drawTextToBitmap(Context gContext, int gResId, String gText) {
    Resources resources = gContext.getResources();
    float scale = resources.getDisplayMetrics().density;
    Bitmap bitmap = BitmapFactory.decodeResource(resources, gResId);

    android.graphics.Bitmap.Config bitmapConfig = bitmap.getConfig();
    // set default bitmap config if none
    if (bitmapConfig == null) {
        bitmapConfig = android.graphics.Bitmap.Config.ARGB_8888;
    }
    // resource bitmaps are imutable,
    // so we need to convert it to mutable one
    bitmap = bitmap.copy(bitmapConfig, true);

    Canvas canvas = new Canvas(bitmap);
    // new antialised Paint
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    // …
Run Code Online (Sandbox Code Playgroud)

android bitmap android-bitmap

3
推荐指数
1
解决办法
4150
查看次数

客户端放大页面时如何提高Canvas图片质量?

我知道 HTML5 Canvas 采用 Bitmap 技术,在放大时对图像质量有自己的限制。

但是,如果客户端使用浏览器的缩放功能(例如在 chrome 上,客户使用 Ctrl + 鼠标滚动)放大页面,是否有任何解决方案可以保持图像质量?

html bitmap html5-canvas

3
推荐指数
1
解决办法
3162
查看次数

libGDX:如何将纹理裁剪为圆形

我通过 android 开发实现了我的目标,如此链接从 Android 中的位图裁剪圆形区域所示, 但是我如何使用 libGDX 框架实现这一目标?我试图做到这一点,Pixmap但没有成功。

任何人都可以帮助我实现这一目标。

java bitmap libgdx

3
推荐指数
1
解决办法
1430
查看次数

缩放位图保持纵横比并适应宽度和高度

我想缩放保持纵横比的位图,但适合所需的尺寸。这个答案会缩放位图并保持纵横比,但会留下一些空白,除非图像是完美的正方形。我需要填写宽度和高度,就像FIT_XY一个scaleType属性的ImageView

android bitmap scale scaletype

3
推荐指数
1
解决办法
4778
查看次数

Bitmap() 不是公开的

问题很简单。

public Bitmap bm = new Bitmap()

以下代码抛出错误,指出Bitmap() 在 Bitmap 中不是公开的;无法从外部包访问。问题是它是公开的(android.graphics):

public final class Bitmap implements Parcelable { .. }

我在谷歌上搜索了很多,当这个类(在我的例子中是位图)没有公开时,各种各样的问题都会出现。我不明白出了什么问题。是因为 Bitmap 类是最终的吗?那么我应该如何声明一个位图类型的变量呢?

任何提示将不胜感激。

已经尝试清理和重建项目。

java bitmap

3
推荐指数
1
解决办法
1838
查看次数

如何计算位图文件大小?

  1. 如何找到 50 x 50 RGB 彩色图像的字节大小?
  2. 如果上图保存在头大小为 54 字节的 BMP 文件中,那么该 BMP 文件的总大小是多少?
  3. 如何知道BMP文件中每个字节的内容?
  4. 以及如何知道它的十六进制值?

byte image bitmap bmp

3
推荐指数
1
解决办法
2万
查看次数

如何在放大的图像上绘图?

Size我的应用程序中有一个400X400 的图片框。图片SizeMode框的 设置为Zoomed。我在图片框中加载了 700X446 的 png 图像。

在此处输入图片说明

我有以下问题,

尽管我沿着红色路径画了一条黑色直线,但实际上它是沿着加载的图像在透视之外显示的。

我该如何解决这个问题?

PS我只想在图像上绘制,而不是整个图片框。

源代码:

 public partial class MainForm : Form
 {
    Bitmap _inputImage = null;
    //Graphics _imageGraphics = null;

    #region ctor
    public MainForm()
    {
        InitializeComponent();

        _inputImage = Bitmap.FromFile(@"E:\cracked.png") as Bitmap;

        this.inputImagePictureBox.Image = _inputImage;
    }
    #endregion

    #region Mouse Up and Down
    Point _startPoint = Point.Empty;

    private void left_MouseDown(object sender, MouseEventArgs e)
    {
        if (e.Button == System.Windows.Forms.MouseButtons.Left)
        {
            _startPoint = e.Location;

            Circle tempCircle = new Circle(_startPoint, 10);

            Bitmap …
Run Code Online (Sandbox Code Playgroud)

c# bitmap picturebox winforms

3
推荐指数
1
解决办法
1231
查看次数