1. package org.jr.awt.image;
  2. /**
  3. * Copyright: Copyright (c) 2002-2004
  4. * Company: JavaResearch(http://www.javaresearch.org)
  5. * 最后更新日期:2003年2月13日
  6. * @author Cherami
  7. */
  8. import java.awt.image.*;
  9. /**
  10. * 灰度变换过滤器。
  11. * @since 0.1
  12. */
  13. public class GrayFilter
  14. extends RGBImageFilter {
  15. int modelStyle;
  16. /**
  17. * 缺省构造方法,使用GrayModel.CS_MAX模式构造灰度变换过滤器。
  18. * @since 0.1
  19. * @see GrayModel#CS_MAX GrayModel.CS_MAX
  20. */
  21. public GrayFilter() {
  22. modelStyle = GrayModel.CS_MAX;
  23. canFilterIndexColorModel = true;
  24. }
  25. /**
  26. * 使用指定的模式构造灰度变换过滤器。
  27. * @param style 灰度模式
  28. * @since 0.1
  29. */
  30. public GrayFilter(int style) {
  31. modelStyle = style;
  32. canFilterIndexColorModel = true;
  33. }
  34. /**
  35. * 设置色彩模型。
  36. * @param colorModel 色彩模型
  37. * @since 0.1
  38. */
  39. public void setColorModel(ColorModel colorModel) {
  40. substituteColorModel(colorModel, new GrayModel(colorModel, modelStyle));
  41. }
  42. /**
  43. * 返回经过灰度变换后的色彩的RGB值。
  44. * @param x X坐标值
  45. * @param y Y坐标值
  46. * @param pixel 原来的色彩的RGB值
  47. * @return 经过灰度变换后的色彩的RGB值
  48. * @since 0.1
  49. */
  50. public int filterRGB(int x, int y, int pixel) {
  51. return pixel;
  52. }
  53. }