- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试绘制一个动画描边矩形:
针对此问题的任何 kickstart 都会有所帮助。使用 View , Canvas 任何东西。
谢谢
最佳答案
好的,这是让您入门的东西,它不是完整的解决方案,但您可以从这里完成您的任务。
我正在做的是根据进度动态更新我的面具。我只是画了一条线,但在你的情况下,你需要画四条线,根据进度形成一个蒙版矩形。这是让我知道是否有帮助的代码:
public class DrawView extends View implements Runnable {
Bitmap mProgressBitmap;
Bitmap mMaskProgressBitmap;
Bitmap mResultBitmap;
Canvas mTempCanvas;
Canvas mMaskCanvas;
Paint mPaint;
Paint mWhitePaint;
Handler mHandler = new Handler();
float mProgress = 0;
static final long FRAME_TIME = 50;
public DrawView(Context context, AttributeSet attrs) {
super(context, attrs);
InputStream resource = getResources().openRawResource(R.drawable.timer);
mProgressBitmap = BitmapFactory.decodeStream(resource);
mMaskProgressBitmap = Bitmap.createBitmap(mProgressBitmap.getWidth(), mProgressBitmap.getHeight(), Bitmap.Config.ARGB_8888);
mMaskCanvas = new Canvas(mMaskProgressBitmap);
mMaskCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
mResultBitmap = Bitmap.createBitmap(mProgressBitmap.getWidth(), mProgressBitmap.getHeight(), Bitmap.Config.ARGB_8888);
mTempCanvas = new Canvas(mResultBitmap);
mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
mPaint.setDither(true);
mWhitePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mWhitePaint.setColor(Color.WHITE);
mWhitePaint.setStrokeWidth(50);
mHandler.postDelayed(this, FRAME_TIME);
}
@Override
public void onDraw(Canvas canvas) {
mTempCanvas.drawBitmap(mMaskProgressBitmap, 0, 0, null);
mTempCanvas.drawBitmap(mProgressBitmap, 0, 0, mPaint);
canvas.drawBitmap(mResultBitmap, 0, 0, null);
}
@Override
public void run() {
mProgress += 0.01f;
mMaskCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
mMaskCanvas.drawLine(0, 0, (float)mProgressBitmap.getWidth() * mProgress, 0, mWhitePaint);
this.invalidate();
mHandler.postDelayed(this, FRAME_TIME);
}
}
关于Android绘图矩形计时器带动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16413418/
我想以 headless 模式(屏幕上根本没有 GUI)将 JPanel 绘制到 BufferedImage 中。 final JPanel panel = createPanel(); panel.
我是 Canvas 的新手,正在尝试创建看起来逼真的 float 粒子动画。 目前,我正在创建 400 个随机散布在 400x400 Canvas 上的粒子。 然后,在每个 requestAnimat
有没有办法在悬停时停止悬 float 画? :hover 这是一个显示动画的链接: https://codepen.io/youbiteme/pen/RprPrN 最佳答案 只需为您的 svg 悬停添
我想在谷歌地图上绘制覆盖图,其中除了特定点周围 1.5 公里半径以外的所有内容都被遮蔽了。为此,我尝试使用带有大量边框的圆圈,所以我会在边框中放置透明中心和覆盖颜色来实现这一点,但它无法渲染。
我正在尝试通过扩展类 UIView 来创建自定义 View ,该类可以在自定义 View 的中心显示一个圆圈。为了添加自定义绘图,我重写了 draw(_ rect: CGRect) 方法,如下所示。
我是一名优秀的程序员,十分优秀!