Tag: 位图

设置位图的旋转和位置

我想知道我如何改变位图的位置,同时旋转它。 我画在canvas上。 我目前正在使用这行代码: canvas.drawBitmap(bitmap, posX, posY, paint); 我认为使用矩阵进行轮换是最好的选择吗? 问题是上面发布的代码行不是一个矩阵而是一个位置。 还有一个类似的代码行: canvas.drawBitmap(bitmap, matrix, paint); 这个采用矩阵而不是位置。 我该怎么做?

在SurfaceView上缩放位图=没有抗锯齿?

我试图在我的SurfaceViewcanvas上缩放DOWN高分辨率.png位图,如下所示: Bitmap player = BitmapFactory.decodeResource(getResources(), R.drawable.player); Paint paint; paint.setAntiAlias(true); paint.setDither(true); paint.setFilterBitmap(true); paint.setFlags(Paint.ANTI_ALIAS_FLAG); //then in onDraw: canvas.drawBitmap(player, null, frame, paint); 问题是当我使用View时抗锯齿效果很好,但是当我使用SurfaceView时它无法工作,质量看起来很糟糕。 我已经尝试了一切。 有些人甚至在3年前在各个网站上发布了这个问题(即使在这里)并且没有解决方案。 有没有人有任何想法? 以下是该人发布的原始问题: 在SurfaceView上绘制缩放位图 – 无抗锯齿

如何检查图像大小小于100kb android

我试图从图库中获取图像并在ImageView上设置它,听到我很好,并在ImageView上设置图像,但现在我想检查kb中所选图像的图像大小,所以我设置了图像上传的validation。 请有人建议我如何检查选择的图像尺寸是否小于100kb ?,听到我的图像选择和设置它的代码。 选择图像使用Intent Intent iv = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); startActivityForResult(iv, RESULT_LOAD_IMAGE); 并获取图像结果代码.. @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) { Uri selectedImage = data.getData(); String[] filePathColumn = { MediaStore.Images.Media.DATA }; Cursor cursor = getContentResolver().query(selectedImage, filePathColumn, […]

如何绘制不同颜色的多行并撤消,重做android中的路径?

我想在视图上用不同的颜色绘制多条线并撤消,重做android中的路径。 我使用位图绘制选项,每个路径都有一个独特的颜色但撤消,重做不起作用.. 这是我的bitmappaint代码: public MyView(Context context, Object object) { super(context); setFocusable(true); setFocusableInTouchMode(true); mPath = new Path(); mPaint = new Paint(); mPaint.setAntiAlias(true); mPaint.setColor(0xFFFFFF00); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeJoin(Paint.Join.ROUND); mPaint.setStrokeCap(Paint.Cap.ROUND); mPaint.setStrokeWidth(3); mBitmap = Bitmap.createBitmap(320, 480, Bitmap.Config.ARGB_8888); mCanvas = new Canvas(mBitmap); } protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); } protected void onDraw(Canvas […]

在Java中读取IDX文件类型

我用Java构建了一个图像分类器,我想针对这里提供的图像进行测试:http: //yann.lecun.com/exdb/mnist/ 不幸的是,如果您下载train-images-idx3-ubyte.gz或任何其他3个文件,它们都是文件类型:.idx1-ubyte 第一个问题:我想知道是否有人可以向我提供有关如何将.idx1-ubyte转换为位图(.bmp)文件的说明? 第二个问题:或者我一般如何阅读这些文件? 有关IDX文件格式的信息:IDX文件格式是各种数字类型的向量和多维矩阵的简单格式。 基本格式是: magic number size in dimension 0 size in dimension 1 size in dimension 2 ….. size in dimension N data 幻数是一个整数(MSB优先)。 前2个字节始终为0。 第三个字节编码数据的类型: 0x08: unsigned byte 0x09: signed byte 0x0B: short (2 bytes) 0x0C: int (4 bytes) 0x0D: float (4 bytes) 0x0E: double (8 bytes) 第4个字节编码向量/矩阵的维数:1表示向量,2表示矩阵…. 每个维度的大小为4字节整数(MSB优先,高端,与大多数非英特尔处理器一样)。 数据存储在C数组中,即最后一维中的索引变化最快。

来自资源的大图像获得exception

我按照以下链接中的示例: Android中的Viewpager示例 它的工作正常但是当我放置我自己的高分辨率图像(大尺寸)时,它给了我例外: java.lang.OutOfMemoryError:位图大小超过VM预算 。 我发布了一个关于该问题的旧问题,但由于这个原因它关闭了它,我尝试并搜索了很多,最后我发现解决方案是:通过以下方式缩放我的图像以避免内存exception: 作者在stackfllow和android开发网站的建议和答案,我以波纹管代码结束,这也以相同的exception结束,我认为我的代码中有一些错误,因为我仍在学习java和android开发,但那我能结束有,请任何帮助或建议将不胜感激, 谢谢 。 我的代码: ViewPagerAdapter public class ViewPagerAdapter extends PagerAdapter { Activity activity; int imageArray[]; public ViewPagerAdapter(Activity act, int[] imgArra) { imageArray = imgArra; activity = act; } public int getCount() { return imageArray.length; } public Object instantiateItem(View collection, int position) { ImageView view = new ImageView(activity); view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, […]

Android设置壁纸出错了

所以我很久以前就开发了壁纸更换器并将其发布。 过了一会儿,我开始收到评论壁纸没有正确resize。 我也尝试了不同大小的鸸and,他们是对的。 我正确地缩放位图等但不知何故android往往会重新缩放壁纸甚至更大! 有办法避免吗? 我的代码: Display display = parent.getWindowManager().getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); Bitmap scaled = Bitmap.createScaledBitmap(wallpaper, width, height, true); WallpaperManager wm = WallpaperManager.getInstance(getContext()); wm.setBitmap(scaled); 我一直在尝试其他方式,但似乎没有任何帮助,即使我后来检查重新调整的壁纸是否正确大小等:(任何想法?

如何将包含Bitmap的对象传递给另一个活动

所以我是Android开发中的新手,我试图制作一个加载图片(Bitmap)的注册活动( UserPrivateInfoSignUpActivity.java )并创建一个我想要传递给另一个Activity( UserGeneralDataSignUpActivity )的UserPersona对象。 我做了一个解决方案的研究,不知怎的,我仍然无法传递Bitmap图像,虽然它已经implements Parcelable 。 有什么建议么? 这是我的代码(没有getter和setter) PersonaUser.java: public class PersonaUser implements Parcelable{ private String puName; private String puEmailAddress; private String puCountry; private String puCity; private int puAge; private Bitmap puImage; public PersonaUser(String puName, String puEmailAddress, String puCountry, String puCity, int puAge, Bitmap puImage){ this.puName = puName; this.puEmailAddress = puEmailAddress; this.puCountry = […]

Matmap的位图会返回错误的颜色

所以我使用下一个代码从blob创建一个位图: byte[] blob = contact.getMP(); ByteArrayInputStream inputStream = new ByteArrayInputStream(blob); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); Bitmap scalen = Bitmap.createScaledBitmap(bitmap, 320, 240, false); 它会返回下一个输出,这很好 然后我执行以下操作将位图制作成Mat,但随后我的颜色才会改变…… //Mat ImageMat = new Mat(); Mat ImageMat = new Mat(320, 240, CvType.CV_32F); Utils.bitmapToMat(scalen, ImageMat); 我不知道为什么,也不知道将位图变成Mat的另一种方法。 怎么了?

如何在libgdx中更改位图字体的alpha

我想制作一个消息框,当你接受但我不知道如何改变字体的alpha, 这是我如何做我的字体: white = new BitmapFont(Gdx.files.internal(“data/font/whitefont.fnt”),false); white.setUseIntegerPositions(false); white.setScale(0.025f); white.draw(batchHUD, message.nom+”:”, 1000*0.1f+(1000*0.8f*0.3f), 625*0.1f+(1000*0.8f*0.625f*0.5f*0.1f)+1000*0.2f); 谁能帮我 ? :)对不起我的英语,这不是我的母语。