Articles of 绘制

使用animation类来animation视图内的最佳方法是什么?

我已阅读了有关“animation”和“ 硬件加速”的内容,但我仍然不确定使用animation类的最有效方法是什么。 (为了这个问题,我不需要在Honeycomb之前支持设备,所以我想使用animation类。) 例如,说我有一个视图。 在这个视图中我有一个我想淡入的BitmapDrawable。视图中还有许多其他元素不会改变。 什么属性或对象最适合animation师使用? 可绘制? 在onDraw中绘制位图的绘图? 别的东西? 如何在硬件加速方面做到最高效? 这是否需要为animation的每一步调用invalidate或者是否有一种方法来为drawable创buildanimation并且不会导致animation的每一步都完全重绘视图的其余部分? 我猜想我认为一个最佳的情况是剩下的视图不必完全用软件重新绘制,而是硬件加速有效地淡化绘图。 任何build议或build议的方法指针? 谢谢!

如何在Android上的ImageView中绘制一条线?

我想知道如何在用户滑动手指时在ImageView上绘制一条线? 有没有人能解释这一点? 或者也许任何链接来开始这个。

我不希望Android自动调整位图大小

我已经在res / drawable中放置了一些位图。 在我通过BitmapFactory.decodeResource()加载位图之后,我发现它们根据密度自动resize。 这不是我想要的。 我希望他们保持原来的大小(像素大小)。 我该怎么办?

如何在canvasandroid中设置validation?

我在canvas应用程序上工作,我已经创build了颜色select器,撤消,重做和清除function的canvas,它也工作fine.Now,我想validation用户是否正在canvas上的背景线上画一条线。 例如,我有一个虚线的背景图像,现在我想要用户在虚线上绘制,我必须validation它是否正确或不正确? 是否可以在canvas上,我该如何处理? 有人可能会提出任何build议,这将有助于我完成下一步在我的应用程序,我的代码在这里, public class HomeScreen extends Activity implements ColorPickerDialog.OnColorChangedListener { public int width; public int height; public Arrays paths1; private Bitmap mBitmap; private Canvas mCanvas; private Path mPath; private Paint mBitmapPaint; Context context; private Paint circlePaint; private Path circlePath; /* MyView mv; */ DrawingPanel dp; AlertDialog dialog; private ArrayList<Path> undonePaths = new ArrayList<Path>(); […]

Android:BitmapDrawable.Draw(Canvas)似乎不工作

我正在尝试将20×20背景平铺到我的自定义视图上,但出于某种原因我无法使用。 BitmapDrawable background; background = new BitmapDrawable(BitmapFactory.decodeResource(getResources(), R.drawable.back)); background.setTileModeXY(Shader.TileMode.REPEAT, Shader.TileMode.REPEAT); background.draw(canvas); 有没有人有一个想法,为什么它不工作?

android快速像素访问和操作

我试图移植我已经写在Android的模拟器。 事情已经很好,我能够移植我的大部分代码,但由于模拟的工作原理,我需要在像素级渲染图像。 至于我使用的桌面Java int[] pixelsA = ((DataBufferInt) src.getRaster().getDataBuffer()).getData(); 这使我可以获得对像素缓冲区的引用并在运行中对其进行更新(最小化对象创build) 目前这是我的模拟器为每一个框架的Android做 @Override public void onDraw(Canvas canvas) { buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565); canvas.drawBitmap(buffer, 0, 0, null); } 像素A是一个数组int [],像素A包含所有的颜色信息,所以每一帧它将不得不通过做一个位图对象 buffer = Bitmap.createBitmap(pixelsA, 256, 192, Bitmap.Config.RGB_565); 我认为这相当昂贵和缓慢。 有没有什么办法有效地画canvas像素?

Canvas.drawLines显示不连贯的段

可能重复: Android如何用手指画一条平滑的线 我是Android和Java编程的新手,在移动应用程序开发方面一直在玩。 我最近创build了一个视图,只是保持与用户的手指动作画线。 但是,我一直在Canvas.drawLines方法有一些麻烦。 我没有在所有点之间获得连续的线条,而是在线段之间有断点的虚线模式: 下面是一组数据和简单的代码来重现问题(点数据是从一个真正的手指刷卡): public class SomeView extends android.view.View { private float[] _data = { 292.36545f, 104.37576f, 285.3567f, 112.39249f, 274.34293f, 113.39456f, 254.3179f, 115.39874f, 248.3104f, 116.40082f, 228.28535f, 118.405f, 214.26784f, 119.407104f, 211.26408f, 119.407104f, 204.25533f, 120.40918f, 202.25282f, 120.40918f, 201.25157f, 121.411255f, 199.24907f, 124.41754f, 197.24657f, 125.41962f, 196.24532f, 130.43005f, 195.24406f, 139.44885f, 197.24657f, 144.45929f }; private Paint _paint; public […]

Android作物图像像camscanner

我正在开发一个项目,需要像camscanner android应用程序的图像裁剪function,当拍摄照片,当用户单击裁剪button时,应该显示一个矩形覆盖像camscanner。 凡矩形path可以伸展到任何angular度,并可以执行crop.please帮助我的解决scheme。 我指的是https://github.com/edmodo/cropper 。 但这只有矩形覆盖4点。请帮助我,如果任何人有一个链接或解决scheme!

Android透明canvas(surfaceview)

我有一个通过相关布局放置在另一个视图顶部的面板。 我想给这个面板一个透明的背景,但没有find正确的方法来做这个后,search了几个小时。 当我将alpha设置回0时,我将以黑色背景结束。 希望这里有人能帮助我。 非常感谢! 面板是通过以下代码绘制的: import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.AttributeSet; import android.view.SurfaceHolder; import android.view.SurfaceView; public class Panel extends SurfaceView implements SurfaceHolder.Callback { private ViewThread mThread; Paint paint = new Paint(); public Panel(Context context, AttributeSet attributeSet) { super(context, attributeSet); getHolder().addCallback(this); mThread = new ViewThread(this); } public void doDraw(Canvas canvas) { canvas.drawARGB(50, 120, […]

显示图像片段中的内存问题

我正在使用片段来显示图像/网页。我有一个活动(主),其中包含所有的片段。 package com.example.hscroll.demo; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.support.v4.app.ListFragment; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import com.crittercism.app.Crittercism; import com.example.hscroll.customer.BitmapWeakReference; import com.example.hscroll.customer.PromotionalPriceListAdditionsDataAdaptor; import com.example.hscroll.customer.PromotionalPriceListDataAdaptor; import com.example.hscroll.library.imagezoom.ImageViewTouch; public class MainAct extends FragmentActivity{ private ImageViewTouch mImageView; MyPagerAdapter mPagerAdapter; ViewPager viewPager; static final int NUM_ITEMS = 58; […]