Как сделать края изображения более гладкими при обрезке по фигуре?JAVA

Программисты JAVA общаются здесь
Anonymous
Как сделать края изображения более гладкими при обрезке по фигуре?

Сообщение Anonymous »

Я новичок в графическом интерфейсе Java, любые предложения сделать эти изображения более гладкими по краям...
Я читал похожие проблемы, но не мог понять, как я могу соотнести это с моей ситуацией...< /p>
Изображение

ps. класс пользовательской панели запрашивает цвет цвета, позицию int x, позицию int y, int LayoutManager и ImageIcon...

Код: Выделить всё

for( int i = 0; i < 8; i++ ) {
playlist[i] = new Panel( new Color( 110, 110, 110, 50 ), 0, 0, null, data.recently_clicked_non_artist.get( i ).getImageAsRecentlyPlayed() ) {
@Override
protected void paintComponent( Graphics g ) {
super.paintComponent( g );
Dimension arcs = new Dimension( arc, arc );
int width = getWidth();
int height = getHeight();
Graphics2D g2d = (Graphics2D) g;
g2d.setClip( 0, 0, getWidth(), getHeight() );
g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );

//Draws the rounded opaque panel with borders
g2d.setColor( getBackground() );
g2d.fillRoundRect( 0, 0, width - 1, height - 1, arcs.width, arcs.height );
g2d.setColor( Color.RED );
// g2d.fillRoundRect(0, 0, 50, height-1, arcs.width, arcs.height);
g2d.setClip( new RoundRectangle2D.Float( 0, 0, 50, getHeight(), arcs.width, arcs.height ) );
g2d.drawImage( getImageIcon().getImage(), 0, 0, 50, getHeight(), null );

}
};
playlist[i].setCursor( Cursor.getPredefinedCursor( Cursor.HAND_CURSOR ) );
subTopPanel.add( playlist[i] );
Я попробовал добавить g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);, но мне это не помогло...

Подробнее здесь: https://stackoverflow.com/questions/786 ... on-a-shape

Вернуться в «JAVA»