public RenderTargetSave(CanvasRenderTarget canvasRenderTarget, int paintFlags, PorterDuffXfermode paintXfermode, byte paintAlpha) { CanvasRenderTarget = canvasRenderTarget; PaintFlags = paintFlags; PaintXfermode = paintXfermode; PaintAlpha = paintAlpha; }
public RenderTargetSave(DeviceContext renderTarget, int paintFlags, PorterDuffXfermode paintXfermode, byte paintAlpha) { RenderTarget = renderTarget; PaintFlags = paintFlags; PaintXfermode = paintXfermode; PaintAlpha = paintAlpha; }
void InitializeBorderIfNeeded() { if (_strokeThickness == 0) { DisposeBorder(true); return; } if (_maskPath == null) { _maskPath = new Path(); } if (_maskPaint == null) { _maskPaint = new APaint(PaintFlags.AntiAlias); _maskPaint.SetStyle(APaint.Style.FillAndStroke); PorterDuffXfermode porterDuffClearMode = new PorterDuffXfermode(PorterDuff.Mode.Clear); _maskPaint.SetXfermode(porterDuffClearMode); } if (_borderPaint == null) { _borderPaint = new APaint(PaintFlags.AntiAlias); _borderPaint.SetStyle(APaint.Style.Stroke); } }
public RenderTargetSave(IDrawingContextLayerImpl layer, DrawingContext layerCtx, Size bitmapSize, PorterDuffXfermode paintTransferMode) { BitmapSize = bitmapSize; Layer = layer; Context = layerCtx; PaintTransferMode = paintTransferMode; }
public RenderTargetSave(IDrawingContextImpl renderTarget, int paintFlags, PorterDuffXfermode paintXfermode, byte paintAlpha) { RenderTarget = renderTarget; PaintFlags = paintFlags; PaintXfermode = paintXfermode; PaintAlpha = paintAlpha; }
public ClingDrawer(Resources resources, Color showcaseColor) { this.showcaseColor = showcaseColor; PorterDuffXfermode mBlender = new PorterDuffXfermode(PorterDuff.Mode.Clear); mEraser = new Paint(); mEraser.Color = Color.White; mEraser.Alpha = 0; mEraser.SetXfermode(mBlender); mEraser.AntiAlias = true; mShowcaseDrawable = resources.GetDrawable(Resource.Drawable.cling_bleached); mShowcaseDrawable.SetColorFilter(showcaseColor, PorterDuff.Mode.Multiply); }
void DrawOutline(ACanvas canvas, int width, int height, float cornerRadius, float outlineWidth) { using (var paint = new Paint { AntiAlias = true }) using (var rect = new RectF(0, 0, width, height)) { paint.StrokeWidth = outlineWidth; paint.SetStyle(Paint.Style.Fill); paint.Color = _frame.OutlineColor.ToAndroid(); canvas.DrawRoundRect(rect, cornerRadius, cornerRadius, paint); // This will "carve out" the center where our background layer will go. Therefore we maintain the proper background color/transparency. using (var clearXfer = new PorterDuffXfermode(PorterDuff.Mode.Clear)) { paint.SetXfermode(clearXfer); rect.Left = outlineWidth; rect.Top = outlineWidth; rect.Right = width - outlineWidth; rect.Bottom = height - outlineWidth; canvas.DrawRoundRect(rect, cornerRadius, cornerRadius, paint); } } }
public void Run() { start = Convert.ToInt64(DateTime.Now.Subtract(DateTime.Today).TotalMilliseconds); Log.Debug("MjpegView", "playback thread started! time:" + start); var mode = new PorterDuffXfermode(PorterDuff.Mode.DstOver); Bitmap bm; int width; int height; Rect destRect; Canvas c = null; var p = new Paint(); var fps = ""; while (mRun) { if (surfaceDone) { try { if (false) { Log.Debug("MjpegView", "thread run once++++"); } c = mSurfaceHolder.LockCanvas(); //synchronized(mSurfaceHolder) { try { if (mIn == null && mInUrl != null) { mIn = MjpegInputStream.Read(mInUrl); } bm = mIn.ReadMjpegFrame(); if (mtakePic) { Log.Debug("MjpegView", "thread run start to take picture"); var fName = GenerateFileName(); Log.Debug("MjpegView", "mtakePic " + fName); var res = SaveBitmapToFile(bm, fName); BroardCastResult(res, fName); mFileName = fName; mtakePic = false; } destRect = DestRect(mScreenWidth, mScreenHeight); c.DrawColor(Color.Black); c.DrawBitmap(bm, null, destRect, p); if (showFps) { p.SetXfermode(mode); if (ovl != null) { height = ((ovlPos & 1) == 1) ? destRect.Top : destRect.Bottom - ovl.Height; width = ((ovlPos & 8) == 8) ? destRect.Left : destRect.Right - ovl.Width; c.DrawBitmap(ovl, width, height, null); } p.SetXfermode(null); frameCounter++; if (Convert.ToInt64(DateTime.Now.Subtract(DateTime.Today).TotalMilliseconds) - start >= 1000) { fps = $"{frameCounter} fps"; frameCounter = 0; start = Convert.ToInt64(DateTime.Now.Subtract(DateTime.Today).TotalMilliseconds); ovl = MakeFpsOverlay(overlayPaint, fps); } } } catch (Java.Lang.Exception) { } catch (System.Exception) { } //} } finally { if (c != null) { mSurfaceHolder.UnlockCanvasAndPost(c); } } } } }