Home » Eclipse Projects » GEF » draw2DCan figures of logic be added a Image without distortion?
draw2DCan figures of logic be added a Image without distortion? [message #161816] |
Thu, 16 December 2004 23:20  |
Eclipse User |
|
|
|
Originally posted by: denghaitao.jctx.com
Hi all:
I have added a Image in the figure in logic .And I want to change the
size of the Image when I change the size of DDFigure, but when changed the
DDFFigure's size ,the Image becomes distortion.How can I do to avoid it?
thanks
the programs as follows:
public class DDFFigure extends NodeFigure implements HandleBounds {
........
protected void paintFigure(Graphics g) {
Rectangle r = getBounds().getCopy();
g.translate(r.getLocation());
g.setBackgroundColor(LogicColorConstants.blue);
g.setForegroundColor(LogicColorConstants.connectorGreen);
g.fillRectangle(0, 0, r.width, r.height);
int right = r.width - 1;
g.drawLine(0, Y1, right, Y1);
g.drawLine(0, Y1, 0, Y2);
g.setForegroundColor(LogicColorConstants.connectorGreen);
g.drawLine(0, Y2, right, Y2);
g.drawLine(right, Y1, right, Y2);
g.setForegroundColor(LogicColorConstants.connectorGreen);
g.setBackgroundColor(LogicColorConstants.connectorGreen);
topConnector.translate(0, 5);
g.fillPolygon(rightConnector);
g.drawPolygon(rightConnector);
g.fillPolygon(leftConnector);
g.drawPolygon(leftConnector);
g.fillPolygon(topConnector);
g.drawPolygon(topConnector);
g.fillPolygon(downConnector);
g.drawPolygon(downConnector);
g.setFont(DISPLAY_FONT);
g.setForegroundColor(DISPLAY_TEXT);
g.drawText("DDF", 8, 6);
Image image = new Image(null, LogicEditor.class
.getResourceAsStream("icons/model/toponode16.gif"));
int x = getBounds().getCopy().width;
int y = getBounds().getCopy().height;
//when Rectangle's size changed ,the image becomes distortion,how
can I do ?
g.drawImage(image,0, 0, image.getBounds().width,
image.getBounds().height,
0, 0, x, y);
topConnector.translate(0, -5);
}
|
|
|
Re: draw2DCan figures of logic be added a Image without distortion? [message #161838 is a reply to message #161816] |
Fri, 17 December 2004 00:05   |
Eclipse User |
|
|
|
If you maintain the aspect ratio, it won't distort. Otherwise there's no
way to scale the image by different amounts in different directions and
still have it not distort, is there?
"Jesse" <denghaitao@jctx.com> wrote in message
news:cptmtn$boa$1@www.eclipse.org...
> Hi all:
> I have added a Image in the figure in logic .And I want to change the
> size of the Image when I change the size of DDFigure, but when changed the
> DDFFigure's size ,the Image becomes distortion.How can I do to avoid it?
>
> thanks
>
> the programs as follows:
>
> public class DDFFigure extends NodeFigure implements HandleBounds {
> ........
> protected void paintFigure(Graphics g) {
> Rectangle r = getBounds().getCopy();
>
> g.translate(r.getLocation());
>
> g.setBackgroundColor(LogicColorConstants.blue);
> g.setForegroundColor(LogicColorConstants.connectorGreen);
> g.fillRectangle(0, 0, r.width, r.height);
> int right = r.width - 1;
> g.drawLine(0, Y1, right, Y1);
> g.drawLine(0, Y1, 0, Y2);
> g.setForegroundColor(LogicColorConstants.connectorGreen);
> g.drawLine(0, Y2, right, Y2);
> g.drawLine(right, Y1, right, Y2);
> g.setForegroundColor(LogicColorConstants.connectorGreen);
> g.setBackgroundColor(LogicColorConstants.connectorGreen);
> topConnector.translate(0, 5);
> g.fillPolygon(rightConnector);
> g.drawPolygon(rightConnector);
> g.fillPolygon(leftConnector);
> g.drawPolygon(leftConnector);
> g.fillPolygon(topConnector);
> g.drawPolygon(topConnector);
> g.fillPolygon(downConnector);
> g.drawPolygon(downConnector);
> g.setFont(DISPLAY_FONT);
> g.setForegroundColor(DISPLAY_TEXT);
> g.drawText("DDF", 8, 6);
>
> Image image = new Image(null, LogicEditor.class
> .getResourceAsStream("icons/model/toponode16.gif"));
> int x = getBounds().getCopy().width;
> int y = getBounds().getCopy().height;
> //when Rectangle's size changed ,the image becomes distortion,how
> can I do ?
> g.drawImage(image,0, 0, image.getBounds().width,
> image.getBounds().height,
> 0, 0, x, y);
>
> topConnector.translate(0, -5);
> }
>
>
>
>
|
|
| |
Re: draw2DCan figures of logic be added a Image without distortion? [message #161907 is a reply to message #161816] |
Fri, 17 December 2004 09:59  |
Eclipse User |
|
|
|
Originally posted by: none.us.ibm.com
What do you mean by distorted? SWT only offers us one way to scale an
Image. The algorithm uses nearest-neighbor scaling I think, and not linear
interpolation a.k.a. "re-sampling" the image.
"Jesse" <denghaitao@jctx.com> wrote in message
news:cptmtn$boa$1@www.eclipse.org...
> Hi all:
> I have added a Image in the figure in logic .And I want to change the
> size of the Image when I change the size of DDFigure, but when changed the
> DDFFigure's size ,the Image becomes distortion.How can I do to avoid it?
>
> thanks
>
> the programs as follows:
>
> public class DDFFigure extends NodeFigure implements HandleBounds {
> ........
> protected void paintFigure(Graphics g) {
> Rectangle r = getBounds().getCopy();
>
> g.translate(r.getLocation());
>
> g.setBackgroundColor(LogicColorConstants.blue);
> g.setForegroundColor(LogicColorConstants.connectorGreen);
> g.fillRectangle(0, 0, r.width, r.height);
> int right = r.width - 1;
> g.drawLine(0, Y1, right, Y1);
> g.drawLine(0, Y1, 0, Y2);
> g.setForegroundColor(LogicColorConstants.connectorGreen);
> g.drawLine(0, Y2, right, Y2);
> g.drawLine(right, Y1, right, Y2);
> g.setForegroundColor(LogicColorConstants.connectorGreen);
> g.setBackgroundColor(LogicColorConstants.connectorGreen);
> topConnector.translate(0, 5);
> g.fillPolygon(rightConnector);
> g.drawPolygon(rightConnector);
> g.fillPolygon(leftConnector);
> g.drawPolygon(leftConnector);
> g.fillPolygon(topConnector);
> g.drawPolygon(topConnector);
> g.fillPolygon(downConnector);
> g.drawPolygon(downConnector);
> g.setFont(DISPLAY_FONT);
> g.setForegroundColor(DISPLAY_TEXT);
> g.drawText("DDF", 8, 6);
>
> Image image = new Image(null, LogicEditor.class
> .getResourceAsStream("icons/model/toponode16.gif"));
> int x = getBounds().getCopy().width;
> int y = getBounds().getCopy().height;
> //when Rectangle's size changed ,the image becomes distortion,how
> can I do ?
> g.drawImage(image,0, 0, image.getBounds().width,
> image.getBounds().height,
> 0, 0, x, y);
>
> topConnector.translate(0, -5);
> }
>
>
>
>
|
|
|
Goto Forum:
Current Time: Tue Jul 08 10:42:53 EDT 2025
Powered by FUDForum. Page generated in 0.50918 seconds
|