用bitmap.getpixel和bitmap.setpixel訪問畫素點實在是太慢了,必須要用lockbits的方式訪問記憶體才能改善,這裡貼乙個快速訪問bitmap每個畫素點的包裝類,是國外乙個老外寫的,感覺很好用。
public class lockbitmap
public int depth
public int width
public int height
public lockbitmap(bitmap source)
/// /// lock bitmap data
///
public void lockbits()
// lock bitmap and return bitmap data
bitmapdata = source.lockbits(rect, imagelockmode.readwrite,
source.pixelformat);
// create byte array to copy pixel values
int step = depth / 8;
pixels = new byte[pixelcount * step];
iptr = bitmapdata.scan0;
// copy data from pointer to array
marshal.copy(iptr, pixels, 0, pixels.length);
}catch (exception ex)
}/// /// unlock bitmap data
///
public void unlockbits()
catch (exception ex)
}/// /// get the color of the specified pixel
///
///
///
///
public color getpixel(int x, int y)
if (depth == 24) // for 24 bpp get red, green and blue
if (depth == 8)
// for 8 bpp get color value (red, green and blue values are the same)
return clr;
}/// /// set the color of the specified pixel
///
///
///
///
public void setpixel(int x, int y, color color)
if (depth == 24) // for 24 bpp set red, green and blue
if (depth == 8)
// for 8 bpp set color value (red, green and blue values are the same)
}public bool isvalidcoordinate(int x, int y)
}
還有乙個時間測算的類,可以計算**的時間差,跟stopwatch差不多public class benchmark
}public static void start()
public static void end()
public static double getseconds()
}
以條件驅動的資料訪問方式
所謂 以條件驅動 其實是自己給起名稱,這種資料庫訪問方式和傳統持久化元件的操作方式有所差別。在傳統的資料訪問操作中先明確操作物件然後設定相關條件 但在本文中所在地提到的訪問方式是以條件為主導,就是根據你需要的情況編寫條件直接在這基礎上進行操作,並不需要顯式借助於某個容器,所有操作所需要支援的環境在條...
以Ajax的方式訪問資料庫
一 以ajax的方式顯示資料 我們都知道,如果用ajax程式去載入乙個動態頁,則載入的實際上是這個動態頁執行完畢後生成的靜態html 字串。1.以原有的格式顯示資料 header content type text html charset gb2312 include conn.php resul...
用c 以ado方式 遠端訪問ORACLE資料庫
第一次用oracle,很多理解可能存在錯誤。ado的具體使用方式就不詳細說了,鏈結oracle的鏈結串為 provider oraoledb.oracle user id 使用者名稱 password 密碼 persist security info true data source descrip...