Anda di halaman 1dari 1

Hi,

Klo di Delphi anda tidak harus menggunakan GetJPEGData() untuk mengkopi image ke "image aware"
controls seperti TImage/TDBImage tapi gunakan aja clipboard dan panggil method
CopyCaptureToClipboard() trus pada TImage object instance:

Image1.Picture.Bitmap.Assign(Clipboard);

Jika pake TDBImage pake PasteFromClipboard()

Implementasi dari GetJPEGData() jg menggunakan clipboard (liat sources). Tujuan saya waktu itu untuk
fungsi ini adalah untuk memudahkan jika yg diinginkan adalah byte stream untuk aplikasi tertentu.

Tp jika anda emang ingin menggunakannya pake aja fungsi2 untuk manipulasi variant spt VarArrayLock()
yg return pointer ke raw data image. Klo mo experiment, coba liat implementasi GetJPEGData() dalam
sources komponen webcam itu dan berangkatlah dari situ untuk berpikir sebaliknya yaitu dari variant ke
bitmap..

Tipe OleVariant sering digunakan oleh COM based application dan jika anda konversi component ini
manjadi activex (dg fasilitas Delphi sendiri bisa..), maka GetJPEGData() ini dapat digunakan oleh bahasa
yg support COM secara langsung (misal unmanaged VB,C/C++) dan managed application (.NET compliant
apa aja).

Saya dulu uda coba di .NET lewat interop layer dg C# dan bisa digunakan dengan casting return-nya itu
ke byte[] (array ke tipe byte) dan selanjutnya digunakan seperti biasa...case by case tentunya.

Jadi pada dasarnya GetJPEGData() dimaksudkan utk memudahkan jika menginginkan byte stream secara
langsung tanpa perlu rutin2 utk transfer data dari clipboard lagi...

Untuk lebih detailnya silakan baca referensi yg terkait..

Anda mungkin juga menyukai