android.renderscript.Allocation.getType()方法的使用及代码示例

x33g5p2x  于2022-01-16 转载在 其他  
字(9.1k)|赞(0)|评价(0)|浏览(115)

本文整理了Java中android.renderscript.Allocation.getType()方法的一些代码示例,展示了Allocation.getType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Allocation.getType()方法的具体详情如下:
包路径:android.renderscript.Allocation
类名称:Allocation
方法名:getType

Allocation.getType介绍

暂无

代码示例

代码示例来源:origin: stackoverflow.com

//define this only once if blurring multiple times
RenderScript rs = RenderScript.create(context);

(...)
//this will blur the bitmapOriginal with a radius of 8 and save it in bitmapOriginal
final Allocation input = Allocation.createFromBitmap(rs, bitmapOriginal); //use this constructor for best performance, because it uses USAGE_SHARED mode which reuses memory
final Allocation output = Allocation.createTyped(rs, input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(8f);
script.setInput(input);
script.forEach(output);
output.copyTo(bitmapOriginal);

代码示例来源:origin: stackoverflow.com

final RenderScript rs = RenderScript.create( myAndroidContext );
final Allocation input = Allocation.createFromBitmap( rs, photo, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT );
final Allocation output = Allocation.createTyped( rs, input.getType() );
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create( rs, Element.U8_4( rs ) );
script.setRadius( myBlurRadius /* e.g. 3.f */ );
script.setInput( input );
script.forEach( output );
output.copyTo( photo );

代码示例来源:origin: cymcsg/UltimateAndroid

final Allocation input = Allocation.createFromBitmap(rs, sentBitmap, Allocation.MipmapControl.MIPMAP_NONE,
    Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs, input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));

代码示例来源:origin: Dimezis/BlurView

/**
 * @param bitmap     bitmap to blur
 * @param blurRadius blur radius (1..25)
 * @return blurred bitmap
 */
@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
@Override
public final Bitmap blur(Bitmap bitmap, float blurRadius) {
  //Allocation will use the same backing array of pixels as bitmap if created with USAGE_SHARED flag
  Allocation inAllocation = Allocation.createFromBitmap(renderScript, bitmap);
  if (!canReuseAllocation(bitmap)) {
    if (outAllocation != null) {
      outAllocation.destroy();
    }
    outAllocation = Allocation.createTyped(renderScript, inAllocation.getType());
    lastBitmapWidth = bitmap.getWidth();
    lastBitmapHeight = bitmap.getHeight();
  }
  blurScript.setRadius(blurRadius);
  blurScript.setInput(inAllocation);
  //do not use inAllocation in forEach. it will cause visual artifacts on blurred Bitmap
  blurScript.forEach(outAllocation);
  outAllocation.copyTo(bitmap);
  inAllocation.destroy();
  return bitmap;
}

代码示例来源:origin: CameraKit/blurkit-android

public Bitmap blur(Bitmap src, int radius) {
  final Allocation input = Allocation.createFromBitmap(rs, src);
  final Allocation output = Allocation.createTyped(rs, input.getType());
  final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
  script.setRadius(radius);
  script.setInput(input);
  script.forEach(output);
  output.copyTo(src);
  return src;
}

代码示例来源:origin: wasabeef/glide-transformations

input = Allocation.createFromBitmap(rs, bitmap, Allocation.MipmapControl.MIPMAP_NONE,
  Allocation.USAGE_SCRIPT);
output = Allocation.createTyped(rs, input.getType());
blur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));

代码示例来源:origin: wasabeef/Blurry

input = Allocation.createFromBitmap(rs, bitmap, Allocation.MipmapControl.MIPMAP_NONE,
  Allocation.USAGE_SCRIPT);
output = Allocation.createTyped(rs, input.getType());
blur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));

代码示例来源:origin: multidots/android-app-common-tasks

Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs,
    input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs,
    Element.U8_4(rs));

代码示例来源:origin: multidots/android-app-common-tasks

Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs,
    input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs,
    Element.U8_4(rs));

代码示例来源:origin: Blizzard-liu/AndroidUtils

Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs,
    input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs,
    Element.U8_4(rs));

代码示例来源:origin: jingle1267/android-utils

Allocation.USAGE_SCRIPT);
final Allocation output = Allocation.createTyped(rs,
    input.getType());
final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs,
    Element.U8_4(rs));

代码示例来源:origin: sunfusheng/GlideImageView

@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN_MR1)
public static Bitmap rsBlur(Context context, Bitmap toTransform, int radius) {
  RenderScript renderScript = RenderScript.create(context);
  Allocation input = Allocation.createFromBitmap(renderScript, toTransform);
  Allocation output = Allocation.createTyped(renderScript, input.getType());
  ScriptIntrinsicBlur scriptIntrinsicBlur = ScriptIntrinsicBlur.create(renderScript, Element.U8_4(renderScript));
  scriptIntrinsicBlur.setInput(input);
  scriptIntrinsicBlur.setRadius(radius);
  scriptIntrinsicBlur.forEach(output);
  output.copyTo(toTransform);
  renderScript.destroy();
  return toTransform;
}

代码示例来源:origin: stackoverflow.com

public void copyDoublesTo(double[] entries, Allocation target) {
  if (!target.getType().getElement().isCompatible(Element.F64(mRS))) {
    throw new RSRuntimeException("Type mismatch: Element != F64");
  }
  if (target.getType().getCount() != entries.length) {
    throw new RSRuntimeException("Type mismatch: wrong # of entries");
  }
  mScript.bind_target(target);
  for(int i=0; i!=entries.length; ++i) {
    mScript.invoke_setTargetEntry(i, entries[i]);
  }
}

代码示例来源:origin: guolindev/giffun

input = Allocation.createFromBitmap(rs, bitmap, Allocation.MipmapControl.MIPMAP_NONE,
  Allocation.USAGE_SCRIPT);
output = Allocation.createTyped(rs, input.getType());
blur = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));

代码示例来源:origin: stackoverflow.com

Bitmap inputBitmap = Bitmap.createScaledBitmap(artistImage, artistImage.getWidth(), artistImage.getHeight(), false);
Bitmap outputBitmap = Bitmap.createBitmap(inputBitmap);

RenderScript rs = RenderScript.create(context);

for (int i = 0; i < 10; i++){
  final Allocation input = Allocation.createFromBitmap(rs, outputBitmap); //use this constructor for best performance, because it uses USAGE_SHARED mode which reuses memory
  final Allocation output = Allocation.createTyped(rs, input.getType());
  final ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));

  script.setRadius(25F);
  script.setInput(input);
  script.forEach(output);
  output.copyTo(outputBitmap);
}

代码示例来源:origin: stackoverflow.com

Bitmap screen = [screenshot bitmap];
RenderScript rs = RenderScript.create(context);
Allocation input = Allocation.createFromBitmap(rs, screen,
  Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
Allocation output = Allocation.createTyped(rs, input.getType());
ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
script.setRadius(25);
script.setInput(input);

script.forEach(output);
output.copyTo(screen);

return screen;

代码示例来源:origin: stackoverflow.com

Bitmap blackbitmap = Bitmap.createBitmap(bitmap.getWidth(),bitmap.getHeight(),bitmap.getConfig());
 RenderScript mRS = RenderScript.create(TouchEmbroidery.activity);
 ScriptC_blackcheck script = new ScriptC_blackcheck(mRS);
 Allocation allocationRaster0 = Allocation.createFromBitmap(
     mRS,
     bitmap,
     Allocation.MipmapControl.MIPMAP_NONE,
     Allocation.USAGE_SCRIPT
 );
 Allocation allocationRaster1 = Allocation.createTyped(mRS, allocationRaster0.getType());
 script.forEach_root(allocationRaster0, allocationRaster1);
 allocationRaster1.copyTo(blackbitmap);

代码示例来源:origin: stackoverflow.com

@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
private static Bitmap fastblur16(Bitmap source, int radius, Context ctx) {    
  Bitmap bitmap = source.copy(source.getConfig(), true);    
  RenderScript rs = RenderScript.create(ctx);
  Allocation input = Allocation.createFromBitmap(rs, source, Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SCRIPT);
  Allocation output = Allocation.createTyped(rs, input.getType());
  ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
  script.setRadius(radius);
  script.setInput(input);
  script.forEach(output);
  output.copyTo(bitmap);
  return bitmap;
}

代码示例来源:origin: stackoverflow.com

// Whatever.java
public void copyDoublesTo(double[] entries, Allocation target) 
  throws IOException {

  if (!target.getType().getElement().isCompatible(Element.F64(mRS))) 
    throw new RSRuntimeException("Type mismatch: Element != F64");
  if (target.getType().getCount() != entries.length) 
    throw new RSRuntimeException("Type mismatch: wrong # of entries");

  mScript.bind_target(target);

  ByteArrayOutputStream bytes = new ByteArrayOutputStream(Double.SIZE * dim);
  DataOutputStream longs = new DataOutputStream(bytes);
  long temp;
  for(int i=0; i!=dim; ++i) {
    temp = Double.doubleToLongBits(entries[i]);

    // reverse byte order:
    temp = Long.reverseBytes(temp);

    longs.writeLong(temp);
  }

  target.copyFromUnchecked(bytes.toByteArray());
}

代码示例来源:origin: dabutaizha/juzimi

private static Bitmap blurRenderScript(Context context, Bitmap smallBitmap, int radius) {
  RenderScript rs = RenderScript.create(context);
  Bitmap blurredBitmap = smallBitmap.copy(Bitmap.Config.ARGB_8888, true);
  Allocation input = Allocation.createFromBitmap(rs, blurredBitmap, Allocation.MipmapControl.MIPMAP_FULL, Allocation.USAGE_SHARED);
  Allocation output = Allocation.createTyped(rs, input.getType());
  // Load up an instance of the specific script that we want to use.
  ScriptIntrinsicBlur script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
  script.setInput(input);
  script.setRadius(radius);
  script.forEach(output);
  output.copyTo(blurredBitmap);
  return blurredBitmap;
}

相关文章