标签: bitmap

在 C 中显示颜色数组

我的程序既写入又读取这样的颜色数组:

struct Image {
    size_t width;
    size_t height;
    struct Color *data;
}

struct Color {
    char r;
    char g;
    char b;
}
Run Code Online (Sandbox Code Playgroud)

如何在 C 语言的屏幕上显示这样的数组?

c graphics image bitmap

0
推荐指数
1
解决办法
4293
查看次数

0
推荐指数
1
解决办法
1557
查看次数

相机图像太小

从最近几天开始,我遇到的相机图像问题太小,尺寸为120 x 160.

场景是当我从相机捕获图像并将该图像转换为byte []时,它变得太小.

以下是我使用的代码:

 Bitmap unscaledBitmap  = (Bitmap) data.getExtras().get("data");
 ByteArrayOutputStream bytes = new ByteArrayOutputStream();
 unscaledBitmap  .compress(Bitmap.CompressFormat.PNG, 30, bytes);
 byte[] bytesDoc1 = bytes.toByteArray();
Run Code Online (Sandbox Code Playgroud)

对此没有任何了解,但是我已经尝试了许多解决方案,但都没有为我工作.

请帮我.

android bytearray bitmap android-camera android-camera-intent

0
推荐指数
1
解决办法
1745
查看次数

处理大量图像时出现内存异常

我使用以下代码根据EXIF数据修复图像的方向

 Image FixImageOrientation(Image srce)
        {
            const int ExifOrientationId = 0x112;
            // Read orientation tag
            if (!srce.PropertyIdList.Contains(ExifOrientationId)) return srce;
            var prop = srce.GetPropertyItem(ExifOrientationId);
            var orient = BitConverter.ToInt16(prop.Value, 0);
            // Force value to 1
            prop.Value = BitConverter.GetBytes((short)1);
            srce.SetPropertyItem(prop);
          //  MessageBox.Show(orient.ToString());
            // Rotate/flip image according to <orient>
            switch (orient)
            {

                case 1:
                    srce.RotateFlip(RotateFlipType.RotateNoneFlipNone);
                    return srce;


                case 2:
                    srce.RotateFlip(RotateFlipType.RotateNoneFlipX);
                    return srce;

                case 3:
                    srce.RotateFlip(RotateFlipType.Rotate180FlipNone);
                    return srce;

                case 4:
                    srce.RotateFlip(RotateFlipType.Rotate180FlipX);
                    return srce;

                case 5:
                    srce.RotateFlip(RotateFlipType.Rotate90FlipX);
                    return srce;

                case 6:
                    srce.RotateFlip(RotateFlipType.Rotate90FlipNone);
                    return srce;

                case 7:
                    srce.RotateFlip(RotateFlipType.Rotate270FlipX); …
Run Code Online (Sandbox Code Playgroud)

.net c# gdi+ bitmap out-of-memory

0
推荐指数
1
解决办法
623
查看次数

Android:检查位图是否具有4:3的宽高比

我正在使用内容解析器从图库中检索图像

  final String[] columns = {MediaStore.Images.Media.DATA,
                    MediaStore.Images.Media._ID};
            final String orderBy = MediaStore.Images.Media._ID;
            Cursor imagecursor = context.getContentResolver().query(
                    MediaStore.Images.Media.EXTERNAL_CONTENT_URI, columns, null,
                    null, orderBy);
            int image_column_index = imagecursor
                    .getColumnIndex(MediaStore.Images.Media._ID);


    count = imagecursor.getCount();
            imageList = new ArrayList<Bitmap>();


    for (int i = 0; i < count; i++) {

  imagecursor.moveToPosition(i);
            int id = imagecursor.getInt(image_column_index);
        Bitmap b = MediaStore.Images.Thumbnails.getThumbnail(
                context.getContentResolver(), id,
                MediaStore.Images.Thumbnails.MICRO_KIND, null);
    imageList.add(b);

    }
Run Code Online (Sandbox Code Playgroud)

如何检查位图宽高比是否为4:3,然后添加到arraylist?

android bitmap

0
推荐指数
1
解决办法
470
查看次数

将图像从ImageView保存到内部存储器

我已经创建了ImageView,可以看到Camera的预览并将捕获的图像加载到ImageView中,并且我想将图像存储到内存中的目录中。我已经推荐了许多帖子并尝试过,但是我在内部存储器中找不到图像。这是我使用的代码:

 package com.example.shravan.camera;

 import android.content.Context;
 import android.content.ContextWrapper;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.graphics.Bitmap;
 import android.graphics.drawable.BitmapDrawable;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.MediaStore;
 import android.support.v7.app.AppCompatActivity;
 import android.util.Log;
 import android.view.View;
 import android.widget.Button;
 import android.widget.ImageView;

 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;


 public class MainActivity extends AppCompatActivity {
  private final String TAG = "abc";


static final int REQUEST_IMAGE_CAPTURE =1 ;
ImageView iv;
Uri imageUri;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button btn = (Button)findViewById(R.id.myB);
    iv = (ImageView) findViewById(R.id.myIV);
    //disable the button if the …
Run Code Online (Sandbox Code Playgroud)

android bitmap android-imageview android-studio internal-storage

0
推荐指数
1
解决办法
9229
查看次数

使用ZXing加速QR编码

我目前正在Android项目中处理大量QR码,zxing是我首选的库.

为了实际显示生成的QR码,使用来自编码的信息创建位图.

QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = writer.encode(message, BarcodeFormat.QR_CODE, px, px);

Bitmap bitmap = Bitmap.createBitmap(px, px, Bitmap.Config.RGB_565);
for (int x = 0; x < px; x++) {
    for (int y = 0; y < px; y++) {
        bitmap.setPixel(x, y, matrix.get(x,y) ? Color.BLACK : Color.WHITE);
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但速度非常慢.即使对于相当小的位图,整个过程也需要几秒钟.

有没有办法智能地加快这个过程(例如并行化)甚至更好的库?

提前致谢.

java android qr-code bitmap zxing

0
推荐指数
1
解决办法
1143
查看次数

将OutputStream(转换为File)转换为Bitmap

使用Google Drive Rest Api,我尝试使用此功能下载广告图片.

我得到一个包含以下代码的文件列表:

List<String> fileInfo = new ArrayList<>();
FileList result = mService.files().list()
        .setPageSize(10)
        .setQ("mimeType='image/jpeg'")
        .setFields("nextPageToken, files(id, name)")
        .execute();
        List<File> files = result.getFiles();
        if (files != null) {
            for (File file : files) {
                fileInfo.add(String.format("%s (%s)\n",
                        file.getName(), file.getId()));
            }
        }
Run Code Online (Sandbox Code Playgroud)

它有效.然后,使用文件ID,我获得一个带有以下代码的OutputStream:

String fileId = "file_id";
OutputStream fOut = new ByteArrayOutputStream();
mService.files().export(fileId,"image/jpeg").executeMediaAndDownloadTo(fOut);
Run Code Online (Sandbox Code Playgroud)

现在,我如何将其转换为文件然后转换为位图?

android outputstream bitmap bytearrayoutputstream

0
推荐指数
1
解决办法
3007
查看次数

如何从可绘制对象获取图像名称?

我以某种方式从Drawable文件夹中获取了Drawable图像,如下所示

Drawable thumb = mContext.getResources().getDrawable(R.drawable.image_name);
Run Code Online (Sandbox Code Playgroud)

我尝试这样

String image_name =thumb.getCurrent().toString();
Run Code Online (Sandbox Code Playgroud)

但是我需要的图像名称就是从拇指开始的图像名称。

怎么可能?

任何建议,评论,咨询;提供有用的链接受到高度赞赏。提前谢谢

android image bitmap drawable android-drawable

0
推荐指数
1
解决办法
3228
查看次数

使用C++在微控制器上显示位图图形

我正在使用十六进制格式的888到565格式的位图.所以我想,以显示对使用SDL模拟器的位图,与帧缓冲区resoultion是16bit.

其中一个位图数据(第一行)看起来像那样

0x42, 0x4D, 0xFE, 0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x36, 0x0, 0x0, 0x0, 0x28, 0x0, 0x0, 0x0, 0x7B, 0x0, 0x0, 0x0, 0x5A, 0x0, 0x0, 0x0, 0x1, 0x0, 0x18, 0x0, 0x0, 0x0, 
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试在SDL上使用C++绘制该位图,但是我得到了带有扫描线的垃圾图像,看起来像是没有正确计算间距.

void Rasterizer::DrawBitmap(int w, int h, int x, int y, int transparent)
{
    if (!bitmap)
        return;

    const uint8_t bytesPerPixel = 2;
    uint16_t bytesPerRow = (bytesPerPixel * h ); // bytes Per Row including padding to 4 byte row boundary
    uint16_t paddingSize = bytesPerRow - (bytesPerPixel * …
Run Code Online (Sandbox Code Playgroud)

c++ sdl bitmap

0
推荐指数
1
解决办法
140
查看次数