---
title: Graphics
tags: [Graphics, Graphics2D]
description: Graphics、Graphics2Dなどのグラフィック関係の記事へのスクリーンショット付きリンク一覧
---
このページでは、画像処理や`Graphics`、`Graphics2D`などのグラフィック関係の使い方を集めて一覧にしています。

#contents

* Graphics [#Graphics]
** RGBImageFilterでアイコンの色調を変更 [#RatingLabel]
#swingdescription(Swing/RatingLabel,RGBImageFilterでアイコンの色調を変更,RGBImageFilterで色調を変更したアイコンの用意し、評価用コンポーネントを作成します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTRfRNaARI/AAAAAAAAAhQ/8Rj6Rw8bkwU/s144/RatingLabel.png)

** GeneralPathなどで星型図形を作成する [#GeneralPath]
#swingdescription(Swing/GeneralPath,GeneralPathなどで星型図形を作成する,GeneralPathなどを使って星型の図形をパネルに描画したり、アイコンを作成します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTNT-1toKI/AAAAAAAAAak/t96zX52eOVg/s144/GeneralPath.png)

** PathIteratorからSVGを生成 [#PathIterator]
#swingdescription(Swing/PathIterator,PathIteratorからSVGを生成,ShapeからPathIteratorを取得し、このPathをSVGに変換します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTQ-2m7pMI/AAAAAAAAAgc/B55RHlb8ajM/s144/PathIterator.png)

** JPanelにマウスで自由曲線を描画 [#PaintPanel]
#swingdescription(Swing/PaintPanel,JPanelにマウスで自由曲線を描画,マウスをドラッグしてパネル上に自由曲線を描画します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTQ0y2U6WI/AAAAAAAAAgM/AAHllQ3_VHw/s144/PaintPanel.png)

//** DoubleBufferingで自由曲線を描画 [#DoubleBuffering]
//#swingdescription(Swing/DoubleBuffering,DoubleBufferingで自由曲線を描画,チラつかないようにDouble Bufferingを行ってパネルにお絵かきします。)

** ColorConvertOpで画像をグレースケールに変換 [#ColorConvertOp]
#swingdescription(Swing/ColorConvertOp,ColorConvertOpで画像をグレースケールに変換,ColorConvertOpを使って画像をグレースケールに変換します。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTJmEhFayI/AAAAAAAAAUo/x4JGGk_f08c/s144/ColorConvertOp.png)

** MediaTrackerで画像のサイズを取得 [#MediaTracker]
#swingdescription(Swing/MediaTracker,MediaTrackerで画像のサイズを取得,MediaTrackerを使って画像ファイルからイメージの幅と高さを取得します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTPsQMGUsI/AAAAAAAAAeY/B8MAwtKhshY/s144/MediaTracker.png)

** Timerでアニメーションするアイコンを作成 [#AnimeIcon]
#swingdescription(Swing/AnimeIcon,Timerでアニメーションするアイコンを作成,javax.swing.Timerを使って、アニメーションするアイコンを作成します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTHuI0XeDI/AAAAAAAAARo/CVs615Dtkqs/s144/AnimeIcon.png)

** MouseWheelで画像のズームイン・アウト表示 [#Zoom]
#swingdescription(Swing/Zoom,MouseWheelで画像のズームイン・アウト表示,マウスホイールなどで画像をズームイン、ズームアウトします。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTW1yBNHvI/AAAAAAAAAp4/ba6eQ-Ul2sg/s144/Zoom.png)

** Fontを回転する [#TransformedShape]
#swingdescription(Swing/TransformedShape,Fontを回転する,Fontから文字のアウトラインを取得し、その中心をアンカーポイントに設定して回転します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTVtRPTfJI/AAAAAAAAAoE/Qiy0jcMt_l0/s144/TransformedShape.png)

** Jpegファイルのコメントを取り出す [#IIOMetadata]
#swingdescription(Swing/IIOMetadata,Jpegファイルのコメントを取り出す,Jpegファイルからコメントなどのメタデータ(XML)を取り出してJTreeで表示します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTOUrdw9GI/AAAAAAAAAcM/4rakKDY0jI0/s144/IIOMetadata.png)

* ↑10 ↓11 [#u4e4a921]
#adsensebar

** Shapeの反転 [#HorizontalFlip]
#swingdescription(Swing/HorizontalFlip,Shapeの反転,AffineTransformで図形や画像を反転して表示します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTN731lMzI/AAAAAAAAAbk/Wc0qp3ocR88/s144/HorizontalFlip.png)

** AffineTransformOpで画像を反転する [#AffineTransformOp]
#swingdescription(Swing/AffineTransformOp,AffineTransformOpで画像を反転する,AffineTransformOpなどを使って、画像の上下反転、左右反転を行います。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTHczsN2NI/AAAAAAAAARM/D8gpa0-KfEI/s144/AffineTransformOp.png)

** BasicStrokeで点線を作成 [#DashedLine]
#swingdescription(Swing/DashedLine,BasicStrokeで点線を作成,破線パターンの配列からBasicStrokeを作成し、これを描画します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTKaxPM12I/AAAAAAAAAV8/ZQON-woHuIg/s144/DashedLine.png)

** JTextAreaの背景に画像を表示 [#CentredBackgroundBorder]
#swingdescription(Swing/CentredBackgroundBorder,JTextAreaの背景に画像を表示,JTextAreaなどのコンポーネントの背景に、Borderを使って中心揃えした画像を表示します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTIyAIY_mI/AAAAAAAAATU/GovGMBqjzRo/s144/CentredBackgroundBorder.png)

** TexturePaintを使って背景に画像を表示 [#TexturePaint]
#swingdescription(Swing/TexturePaint,TexturePaintを使って背景に画像を表示,TexturePaintを使用して背景にタイル状に画像を貼り付けます。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTVUeXC5lI/AAAAAAAAAnc/CWUYfOODy1E/s144/TexturePaint.png)

** JPanelの背景に画像を並べる [#BackgroundImage]
#swingdescription(Swing/BackgroundImage,JPanelの背景に画像を並べる,JPanelの背景に画像をタイル状に並べて表示します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTH67VnIQI/AAAAAAAAAR8/JMqkIoI8n1Y/s144/BackgroundImage.png)

** Separatorのグラデーション [#Gradient]
#swingdescription(Swing/Gradient,Separatorのグラデーション,GradientPaintを使ったグラデーションで、徐々に背景色に溶け込んでいくJSeparatorを作成します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTNgUSWNnI/AAAAAAAAAa4/92SfYb-Z3zs/s144/Gradient.png)

** RandomDissolveで表示を切り替え [#RandomDissolve]
#swingdescription(Swing/RandomDissolve,RandomDissolveで表示を切り替え,RandomDissolve効果で表示する画像を切り替えます。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTRdPqz07I/AAAAAAAAAhM/h3EaItM41Yw/s144/RandomDissolve.png)

** JComponentの形状を変更する [#MoveNonRectangularImage]
#swingdescription(Swing/MoveNonRectangularImage,JComponentの形状を変更する,マウスカーソルに反応するコンポーネントの領域をJLabelに設定した画像アイコンの不透明領域に合わせて変更します。,https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTQKdiDk4I/AAAAAAAAAfI/tb322r8ngL0/s144/MoveNonRectangularImage.png)

** Mouseで画像を移動、回転 [#MouseDrivenImageRotation]
#swingdescription(Swing/MouseDrivenImageRotation,Mouseで画像を移動、回転,画像をマウスのドラッグで任意の位置に移動、回転します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTQAQVe8YI/AAAAAAAAAe4/y6GTZLKjqx0/s144/MouseDrivenImageRotation.png)

* ↑20 ↓21 [#dcbd5794]
#adsensebar

** PixelGrabberで画像を配列として取得し編集、書出し [#PixelGrabber]
#swingdescription(Swing/PixelGrabber,PixelGrabberで画像を配列として取得し編集、書出し,画像の配列を取り出すPixelGrabberを生成して、角を透過色で塗りつぶします。,https://lh6.googleusercontent.com/_9Z4BYR88imo/TQTRBSkghZI/AAAAAAAAAgg/Ce52fcu-nQI/s144/PixelGrabber.png)

** MemoryImageSourceで配列から画像を生成 [#MemoryImageSource]
#swingdescription(Swing/MemoryImageSource,MemoryImageSourceで配列から画像を生成,マウスのドラッグに応じて線を描画、消しゴムで消去する機能を実装します。,https://lh4.googleusercontent.com/_9Z4BYR88imo/TQTPu_OEqoI/AAAAAAAAAec/z6MobKhblfI/s144/MemoryImageSource.png)

** JSliderのスタイルを変更する [#GradientTrackSlider]
#swingdescription(Swing/GradientTrackSlider,JSliderのスタイルを変更する,JSliderのトラックとノブを透明にし、値を半透明の色で描画します。,https://lh3.googleusercontent.com/_9Z4BYR88imo/TdnxSfPEQLI/AAAAAAAAA7k/vYTnJ_FPktg/s144/GradientTrackSlider.png)

** JProgressBarにUIを設定してインジケータの色を変更 [#GradientPalletProgressBar]
#swingdescription(Swing/GradientPalletProgressBar,JProgressBarにUIを設定してインジケータの色を変更,JProgressBarのインジケータの色を進行に応じてパレットから取得した色に変更します。,https://lh5.googleusercontent.com/-EjSzEK0Wc6g/UHJrTUTxG9I/AAAAAAAABT8/4AKSHxe6PNE/s144/GradientPalletProgressBar.png)

** Fontのアウトラインを取得して文字列の内部を修飾する [#LineSplittingLabel]
#swingdescription(Swing/LineSplittingLabel,Fontのアウトラインを取得して文字列の内部を修飾する,クリップを設定することで描画範囲を制限し、文字列の内部を異なる色で修飾します。,https://lh5.googleusercontent.com/-1UyXoR9Qkyo/ToAw2259JmI/AAAAAAAABC4/xHq03u7R3v4/s144/LineSplittingLabel.png)

** Iconを回転する [#RotatedIcon]
#swingdescription(Swing/RotatedIcon,Iconを回転する,画像ファイルから90、180、270度回転したIconを作成します。,https://lh4.googleusercontent.com/-OK_vUTiAiCA/T9WIzXvRm9I/AAAAAAAABNk/ubus049qH04/s144/RotatedIcon.png)

** Iconを生成する [#DragHereIcon]
#swingdescription(Swing/DragHereIcon,Iconを生成する,Iconインタフェースから固定サイズのアイコンを作成します。,https://lh5.googleusercontent.com/-PTY9ydf9DFE/T97u-rwg5lI/AAAAAAAABN0/52xJLmkoNak/s144/DragHereIcon.png)

** JRootPaneの背景として画像を表示 [#RootPaneBackground]
#swingdescription(Swing/RootPaneBackground,JRootPaneの背景として画像を表示,JRootPaneの背景として画像を表示しています。,https://lh6.googleusercontent.com/-2HEcpl-4XqA/UOmSieyPnxI/AAAAAAAABaI/KBA4i6QGH3E/s144/RootPaneBackground.png)

** Animated Gifからフレーム画像を抽出する [#ExtractFramesFromAnimatedGif]
#swingdescription(Swing/ExtractFramesFromAnimatedGif,Animated Gifからフレーム画像を抽出する,AnimatedGifから各フレームの画像を抽出します。,https://lh4.googleusercontent.com/-_xu1jNmYJe0/UUX3d_PzwKI/AAAAAAAABoA/cyS5ABVZdkM/s144/ExtractFramesFromAnimatedGif.png)

** JLayerを使ってJProgressBarの色相を変更する [#ColorChannelSwapFilter]
#swingdescription(Swing/ColorChannelSwapFilter,JLayerを使ってJProgressBarの色相を変更する,JLayerを使ってJProgressBarの色相を緑から赤に変更します。,https://lh3.googleusercontent.com/-BOomq0cC-U4/UceBZ2TsWWI/AAAAAAAABug/yoXs3wbBVGk/s144/ColorChannelSwapFilter.png)

* ↑30 ↓31 [#cf7de61b]
#adsensebar

** FlatteningPathIteratorでShape上の点を取得する [#FlatteningPathIterator]
#swingdescription(Swing/FlatteningPathIterator,FlatteningPathIteratorでShape上の点を取得する,FlatteningPathIteratorを使って平坦化されたShape上の座標点を取得、描画します。,https://lh4.googleusercontent.com/-3GsdpxueSG8/Udl1tOfisII/AAAAAAAABvc/SBOIf1ZPPUk/s144/FlatteningPathIterator.png)

** JButtonに9分割した画像を使用する [#NineSliceScalingButton]
#swingdescription(Swing/NineSliceScalingButton,JButtonに9分割した画像を使用する,JButtonを拡大縮小しても四隅などのサイズが変更しないようにように9分割した画像を使用します。,https://lh5.googleusercontent.com/-yYRfTw-3_BU/UgaFQAAiUcI/AAAAAAAABx4/koHqjZ3o36Q/s144/NineSliceScalingButton.png)

** ConvolveOpでコンポーネントにぼかしを入れる [#BlurButton]
#swingdescription(Swing/BlurButton,ConvolveOpでコンポーネントにぼかしを入れる,ConvolveOpを使って、使用不可状態のJButtonにぼかしを入れます。,https://lh6.googleusercontent.com/-KJB6Hz9n1R0/UqSGnCNV3HI/AAAAAAAAB70/sTyoJce2HZQ/s144/BlurButton.png)

** JPanelに表示した画像のズームとスクロール [#ZoomingAndPanning]
#swingdescription(Swing/ZoomingAndPanning,JPanelに表示した画像のズームとスクロール,JPanelに表示した画像にAffineTransformによる変換を適用して、マウスを使った拡大・縮小・移動を実行します。,https://lh3.googleusercontent.com/-c5Y9hCoRQbU/U1PhhnitgFI/AAAAAAAACD0/ZXIcyPywcr0/s144/ZoomingAndPanning.png)

** WritableRasterからDataBufferを取得して画像の比較 [#ComparisonDifferenceImages]
#swingdescription(Swing/ComparisonDifferenceImages,WritableRasterからDataBufferを取得して画像の比較,2つの画像からそれぞれピクセル配列を取得して比較を行い、完全に一致するピクセルのアルファ値を下げることで違いを強調表示します。,https://lh3.googleusercontent.com/-wz-vsrJ2L3Y/VHHvorDnjaI/AAAAAAAANp0/i3riWECvTsA/s144/ComparisonDifferenceImages.png)

** JEditorPaneに読み込んだHTMLを画像に変換する [#LoadsSynchronously]
#swingdescription(Swing/LoadsSynchronously,JEditorPaneに読み込んだHTMLを画像に変換する,JEditorPaneに画像付きのHTMLを読み込み、描画が完了した段階で全体のスクリーンショットを撮る方法をテストします。,https://lh5.googleusercontent.com/-JPZBF-3MA9o/VHskydE02OI/AAAAAAAANrs/7WXsb2t0ahg/s144/LoadsSynchronously.png)

** JScrollPane内に配置したJPanelをマウスで拡大、縮小、移動する [#ZoomAndPanPanel]
#swingdescription(Swing/ZoomAndPanPanel,JScrollPane内に配置したJPanelをマウスで拡大、縮小、移動する,JScrollPane内に配置したJPanelを、マウスホイールを使った拡大縮小と、スクロールバーを使った表示領域の移動が可能になるように設定します。,https://lh3.googleusercontent.com/-Um9j8O0t3Kg/VYdMPIUOfwI/AAAAAAAAN7A/LAJ5KRiDdp0/s144/ZoomAndPanPanel.png)

** JSplitPaneで画像を差分を比較表示する [#ImageComparisonSplitPane]
#swingdescription(Swing/ImageComparisonSplitPane,JSplitPaneで画像を差分を比較表示する,JSplitPaneに加工前の画像と加工後の画像を重ねて表示し、Dividerで表示範囲を変更してその差分を確認します。,https://drive.google.com/uc?export=view&id=1BQoqm6sZEKeuDdnJ9jxCugkg6-CHyo1-Ag)

** ImageIOでAnimatedGifファイルを生成する [#CreateAnimatedGif]
#swingdescription(Swing/CreateAnimatedGif,ImageIOでAnimatedGifファイルを生成する,ImageIOを使用してAnimatedGifを生成し、これを画像ファイルとして書き出します。,https://drive.google.com/uc?export=view&id=1u3A7qx0Lmc-FYjdYhsZkBRrdEChn78_-1A)