當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Processing pixelWidth用法及代碼示例


Processing, pixelWidth用法介紹。

說明

pixelDensity(2) 用於使用高分辨率顯示器(在 OS X 上稱為 Retina 顯示器或在 Windows 和 Linux 上稱為 high-dpi)時,草圖的寬度和高度不會改變,但像素數會增加一倍.因此,所有使用像素的操作(如 loadPixels()get()set() 等)都發生在這個加倍的空間中。為方便起見,變量pixelWidthpixelHeight 以像素為單位保存草圖的實際寬度和高度。例如,這對於使用 pixels[] 數組的任何草圖都很有用,因為數組中的元素數量將是 pixelWidth*pixelHeight ,而不是 width*height

例子

void setup() {
  size(600, 400);
  pixelDensity(2);
  println(width, height);
  println(pixelWidth, pixelHeight);
}
void setup() {
  size(600, 400);
  pixelDensity(2);  // Double the pixel density
  println(width, height);
  println(pixelWidth, pixelHeight);
}

void draw() {
  loadPixels();
  // Fill all the pixels to blue with using
  // pixelWidth and pixelHeight
  for (int i = 0; i < pixelWidth * pixelHeight; i++) {
    pixels[i] = color(0, 0, 255);
  }
  // Fill one quarter of the pixels to yellow
  // because the pixel density is set to 2 in setup()
  // and 'width' and 'height' don't reflect the pixel 
  // dimensions of the sketch
  for (int i = 0; i < width * height; i++) {
    pixels[i] = color(255, 255, 0);
  }
  updatePixels();
  noLoop();
}

相關用法


注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 pixelWidth。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。