# java.awt.image.renderable

***

**1. Create a RenderableImage from an Image**

```java
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;
import javax.media.jai.operator.BufferedImageDescriptor;

public class CreateRenderableImageFromImage {
    public static void main(String[] args) {
        // Create a BufferedImage
        BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);

        // Create a RenderableImage from the BufferedImage
        RenderableImage renderableImage = new BufferedImageDescriptor(image, null);
    }
}
```

**2. Apply a Filter to a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.JAI;
import javax.media.jai.KernelJAI;
import javax.media.jai.OperationDescriptorImpl;
import javax.media.jai.RenderedOp;
import javax.media.jai.operator.DilateDescriptor;

public class ApplyFilterToRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Create a kernel for the filter
        KernelJAI kernel = new KernelJAI(3, 3, new float[] { 0.1f, 0.1f, 0.1f, 0.1f, 0.2f, 0.1f, 0.1f, 0.1f, 0.1f });

        // Create a filter operation descriptor
        OperationDescriptorImpl dilateDescriptor = new DilateDescriptor(kernel, null);

        // Apply the filter to the RenderableImage
        RenderedOp filteredImage = JAI.create("dilate", renderableImage, dilateDescriptor);
    }
}
```

**3. Combine Multiple RenderableImages**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.JAI;
import javax.media.jai.OperationDescriptorImpl;
import javax.media.jai.RenderedOp;
import javax.media.jai.operator.CombineDescriptor;

public class CombineMultipleRenderableImages {
    public static void main(String[] args) {
        // Create multiple RenderableImages
        RenderableImage[] images = ...

        // Create a combine operation descriptor
        OperationDescriptorImpl combineDescriptor = new CombineDescriptor(images, null);

        // Combine the RenderableImages
        RenderedOp combinedImage = JAI.create("combine", combineDescriptor);
    }
}
```

**4. Create a RenderedImage from a RenderableImage**

```java
import java.awt.image.RenderedImage;
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class CreateRenderedImageFromRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Create a RenderedImage from the RenderableImage
        RenderedImage renderedImage = renderableImage.createDefaultRendering();
    }
}
```

**5. Get the Bounds of a RenderableImage**

```java
import java.awt.Rectangle;
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class GetBoundsOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Get the bounds of the RenderableImage
        Rectangle bounds = renderableImage.getBounds();
    }
}
```

**6. Get the Height of a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class GetHeightOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Get the height of the RenderableImage
        int height = renderableImage.getHeight();
    }
}
```

**7. Get the Width of a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class GetWidthOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Get the width of the RenderableImage
        int width = renderableImage.getWidth();
    }
}
```

**8. Get the PropertyNames of a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class GetPropertyNamesOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Get the property names of the RenderableImage
        String[] propertyNames = renderableImage.getPropertyNames();
    }
}
```

**9. Get the PropertyValue of a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class GetPropertyValueOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Get the property value of the RenderableImage
        Object propertyValue = renderableImage.getProperty(propertyName);
    }
}
```

**10. Set the PropertyValue of a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class SetPropertyValueOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Set the property value of the RenderableImage
        renderableImage.setProperty(propertyName, propertyValue);
    }
}
```

**11. Create a CompositeRenderableImage**

```java
import java.awt.image.renderable.CompositeRenderableImage;
import java.awt.image.renderable.RenderableImage;

public class CreateCompositeRenderableImage {
    public static void main(String[] args) {
        // Create multiple RenderableImages
        RenderableImage[] images = ...

        // Create a CompositeRenderableImage
        CompositeRenderableImage compositeImage = new CompositeRenderableImage(images);
    }
}
```

**12. Get the Children of a CompositeRenderableImage**

```java
import java.awt.image.renderable.CompositeRenderableImage;
import java.awt.image.renderable.RenderableImage;

public class GetChildrenOfCompositeRenderableImage {
    public static void main(String[] args) {
        // Create a CompositeRenderableImage
        CompositeRenderableImage compositeImage = ...

        // Get the children of the CompositeRenderableImage
        RenderableImage[] children = compositeImage.getChildren();
    }
}
```

**13. Get the Source of a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class GetSourceOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Get the source of the RenderableImage
        RenderedOp source = renderableImage.getSource();
    }
}
```

**14. Set the Source of a RenderableImage**

```java
import java.awt.image.renderable.RenderableImage;
import javax.media.jai.RenderedOp;

public class SetSourceOfRenderableImage {
    public static void main(String[] args) {
        // Create a RenderableImage
        RenderableImage renderableImage = ...

        // Create a new source for the RenderableImage
        RenderedOp newSource = ...

        // Set the source of the RenderableImage
        renderableImage.setSource(newSource);
    }
}
```
