2

Processing.js 允许使用以下方法绘制图像:

image(x,y,width,height)

但是添加宽度和高度参数只会将图像缩放到该大小。我怎样才能裁剪图像,只width在右侧绘制第一个height像素,在底部绘制第一个像素?

例如,只绘制 X'ed 部分:

---------------------------.  
|XXXXXXXXXXXXX             | 
|XXXXXXXXXXXXX             | 
|XXXXXXXXXXXXX             | 
|XXXXXXXXXXXXX             | 
|                          | 
|                          | 
|                          |                            
---------------------------.
4

3 回答 3

3

您可以使用复制功能有效地裁剪图像

这是一个例子:

PImage oImg;
void setup() {
   oImg = loadImage("postgres.jpeg");
   size(oImg.width, oImg.height); 
}

void draw() {
   background(0);
   int iStart = new Float(oImg.width/2).intValue();
   int iWidth = oImg.width-iStart;
   copy(oImg, iStart,0,iWidth,oImg.height,0,0,iWidth,oImg.height);
}

这会加载图像,然后将其垂直裁剪为一半大小。

于 2012-06-13T23:25:55.923 回答
0

听起来像一个图像精灵:

#yourImage
{
    width:46px;
    height:44px;
    background:url(yourimage.gif) 0 0;
}
于 2012-06-13T19:28:06.143 回答
0

我不知道在处理中执行此操作的方法,但上下文本身drawImage支持此https://developer.mozilla.org/en/DOM/CanvasRenderingContext2D#drawImage

context.drawImage(image, x, y, realWidth, realHeight, startX, startY, drawnWidth, drawnHeight)
于 2012-06-13T23:37:11.757 回答