标签: bitmap

将 TransformedBitmap 对象保存到磁盘。

在 WPF 和 C# 中工作,我有一个 TransformedBitmap 对象,我可以:

  1. 需要作为位图类型的文件保存到磁盘(理想情况下,我将允许用户选择是否将其保存为 BMP、JPG、TIF 等,不过,我还没有到那个阶段......)
  2. 需要转换为 BitmapImage 对象,因为我知道如何从 BitmapImage 对象获取 byte[]。

不幸的是,在这一点上,我真的很难完成这两件事中的任何一件。

任何人都可以提供任何帮助或指出我可能缺少的任何方法吗?

c# wpf image bitmap save

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

提高 Android 上 Canvas.drawBitmap() 的性能

随着时间的推移,我尝试在我的基于 tile 的游戏中实现视图寻呼机 - 并且滑动很笨拙。我执行了@romangui 建议的必要性能措施,并发现重绘我的 gaem 字段需要大约 48 毫秒(太长了) - 我已经扁平化布局,消除了过度绘制有我的自定义布局管理器等。

我发现在 GN 上绘制一个图块需要大约 0.600 毫秒 - 对于所有 81 个图块来说太长了。时间实际上花在Canvas.drawBitmap(...)

任何想法如何提高性能?我只有 6 个不同的位图,它们被加载一次并重复使用。ARGB_8888。当然,它们不一定与实际显示的尺寸相匹配。

如果在测量布局后针对实际显示尺寸预先渲染它们,我会获得更好的性能吗?

或者我应该咬紧牙关,用我的游戏状态预渲染一张大的位图只是为了滚动?

algorithm optimization android canvas bitmap

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

RenderScript模糊覆盖原始位图

我试图使用RenderScript创建一个模糊的位图,将其设置为包含ImageViewLinearLayout的背景.我还想要一个清晰的位图原始副本,以便我可以在ImageView中将其设置为图像.

这是我的代码:

ImageView mainImage;

Bitmap mainBMP, blurredBMP

LinearLayout background;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_work_area);

    getImage(); // obtain bitmap from file
    mainImage.setImageBitmap(mainBMP); // set the original bitmap in imageview 

    // create a blurred bitmap drawable and set it as background for linearlayout
    BitmapDrawable drawable = new BitmapDrawable(getResources(), blur(mainBMP)); 
    mainBackground.setBackground(drawable); 


    registerForContextMenu(objectImage);
    registerForContextMenu(textArea);

}

private void getImage(){
    String filename = getIntent().getStringExtra("image");
    try {
        FileInputStream is = this.openFileInput(filename);
        mainBMP = BitmapFactory.decodeStream(is);
        is.close();
    } …
Run Code Online (Sandbox Code Playgroud)

java android bitmap blur renderscript

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

Android:内存中的位图大小

我使用的是Nexus 5X模拟器,密度为420 dpi,屏幕尺寸为1080x1920 px。我将原始大小的位图加载到ImageView中。在磁盘上,位图的大小为1.3 MB和1280x851 px。我的ImageView尺寸是宽度:全屏,高度:全屏。我的图像具有32位色深=每个像素4个字节。我计算出内存的预期大小为1080x1920x4 = 8.29 MB。

当我运行代码并加载图像时,它在内存中的大小约为30MB。原因是什么?如何调整计算以获得正确的估计?我当然知道将缩小图像加载到一个小容器中的方法,但是我试图弄清楚如何计算完整图像的大小。

谢谢

android bitmap

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

如何将位图转换为框架?

目前,我正在使用Mobile Vision开发一个Android程序。我正在使用“ TextRecognizer”类,方法之一是.detect(Frame frame)。现在,我有一个要输入的图像,但是该图像是文件类型“位图”。我试图通过强制转换将其转换为“框架”,但是没有用。如果有人有任何建议,将不胜感激。

ocr android bitmap android-vision

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

在Visual Studio C#中使用OLE(位图)对象形成MS Access数据库,我的代码出了什么问题?

我试图从MS Access DB中获取图像.正确获取数据,但是当我尝试显示某些错误时显示.我显示图片的代码是,

            ...
            byte[] photoBytes = (byte[])res[11];
            var ms = new System.IO.MemoryStream(photoBytes);
            image.Image = new System.Drawing.Bitmap(ms);
            ...
Run Code Online (Sandbox Code Playgroud)

错误:附加信息:参数无效. 在此输入图像描述

任何人都可以告诉我错误或错误概率在哪里?

我的功能是

public OleDbDataReader studentInfo(String adm_no)
    {
        OleDbConnection con = new OleDbConnection(ConnStr);
        con.Open();
        OleDbCommand command = new OleDbCommand("SELECT * FROM student_info WHERE adm_no = '"+adm_no+"'", con);
        OleDbDataReader res = command.ExecuteReader();
        return res;
    }
Run Code Online (Sandbox Code Playgroud)

c# debugging ms-access bitmap visual-studio-2012

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

如何将位图图像转换为Uri

我没有在任何地方找到这个问题的答案.

位图图像在应用程序中处理,这意味着没有文件路径来获取图像.

下面是如何将Uri转换为位图

 if (requestCode == RC_PHOTO_PICKER && resultCode == RESULT_OK) {
        Uri selectedImageUri = data.getData();

        imageview.setImageURI(selectedImageUri);

        try {
            bitmap1 = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImageUri);
        } catch (IOException e) {
            e.printStackTrace();
            Toast.makeText(this, "" + e, Toast.LENGTH_SHORT).show();
        }

        bitmap1.compress(Bitmap.CompressFormat.JPEG, 7, bytearrayoutputstream);

        BYTE = bytearrayoutputstream.toByteArray();

        bitmap2 = BitmapFactory.decodeByteArray(BYTE, 0, BYTE.length);

        imagetoo.setImageBitmap(bitmap2);
    }
Run Code Online (Sandbox Code Playgroud)

我现在如何重新转换为Uri

android bitmap android-image

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

C#压缩的位图大小没有savig它

我有一个简单的C#脚本生成一个Bitmap,将其保存到硬盘驱动器(PNG),检查文件大小,并根据它将移动或删除图像的文件的大小.

Bitmap bmp = new Bitmap(1024, 768);
bmp.save(@"C:\User\...\image.png");

FileInfo fi = new FileInfo (@"C:\User\...\image.png");

if (fi.length > 50000){
//do Something
}
Run Code Online (Sandbox Code Playgroud)

有没有其他方法来获得压缩(RLE)大小Bitmap而不在本地存储它?

c# compression file bitmap

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

如何创建可绘制对象的位图

我正在为android开发自定义视图.为此我想让用户能够选择和使用图像,就像使用时一样ImageView

attr.xml中,我添加了以下代码.

<declare-styleable name="DiagonalCut">
    <attr name="altitude" format="dimension"/>
    <attr name="background_image" format="reference"/>
</declare-styleable>
Run Code Online (Sandbox Code Playgroud)

在自定义视图中,我得到的值Drawable是xml中提供的值app:background_image="@drawable/image"

TypedArray typedArray = getContext().obtainStyledAttributes(arr, R.styleable.DiagonalCut);
altitude = typedArray.getDimensionPixelSize(R.styleable.DiagonalCut_altitude,10);
sourceImage = typedArray.getDrawable(R.styleable.DiagonalCut_background_image);
Run Code Online (Sandbox Code Playgroud)

我想使用sourceImage它创建一个Bitmap ,这是一个Drawable对象.

如果我出错的方式请提供替代方案.

android bitmap android-custom-view android-canvas

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

c#位图不保存它的方式

嗨,大家好,我正在大学从事基本的隐写术项目.我操纵我的位图,但某处有一个错误.我设置一个断点只是为了检查.save()方法之前的值和像素看起来很好但是当我保存它并打开新图像时,一些像素是预期的+ -1位实例.这是代码:

public static class EncryptController
{
    public static void EncryptMessage(Bitmap oldImage,string imagePath, DataSteg k, string t)
    {
        Bitmap newImage = new Bitmap(oldImage.Width, oldImage.Height);
        ImageFormat imageFormat = ImageCheck.GetFormat(oldImage);
        string data = k.EncryptData();
        int keyLength = data.Length;
        int bitmapPos = 0;

        for (int i = 0, n = oldImage.Size.Width; i < n; i++)
        {
            for (int j = 0, z = oldImage.Size.Height; j < z; j++)
            {   //data = "010010110110000101101100011000110110100001101111"

                var tt = oldImage.GetPixel(i, j);
                if ((Convert.ToInt32(data[bitmapPos].ToString()) != CheckPixelVale(newImage.GetPixel(i, j)))&&keyLength>0)
                { …
Run Code Online (Sandbox Code Playgroud)

.net c# bitmap

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