Algunas preguntas sobre el uso de GetPixel para extraer el color de la pantalla en VB
2. El motivo del error es que no todos los controladores de dominio admiten GetPixel y SetPixel. Pero no parece haber ningún problema con los formularios DirectX. Entonces, por razones de compatibilidad, tiendo a usar BitBlt para tomar capturas de pantalla de píxeles y luego colorearlas. En términos generales, BitBlt no reduce demasiado la eficiencia. Quizás sólo unas pocas docenas de veces, lo cual es insignificante para miles o cientos de puntos. Si está coloreando un área grande, BitBlt será más eficiente que GetPixel.
3. Sería mejor usar algunos paquetes de decodificación para leer jpg, porque la estructura de jpg es bastante compleja y será muy laborioso escribir el código usted mismo. De hecho, lo conozco bastante. con la estructura de JPG, pero nunca me atrevo a imaginarme escribiendo un paquete descomprimido sobre él. Si es demasiado vago para encontrar un paquete, aquí tiene una solución no tan buena pero factible: use JNI (interfaz nativa de Java), que actúa como una interfaz entre java y c. Puede programar Java en C. ImageIO.read de Java (archivo de archivo); la ecuación puede leer directamente archivos bmp gif jpg y png. Después de leer BufferedImage, puede obtener directamente la información de píxeles, pero la eficiencia no es alta. Puede obtener WritableRaster del objeto BufferedImage y finalmente obtener DataBuffer, que es un byte directo o datos de matriz int. Sin embargo, un requisito previo es que comprenda JNI, y JNI es terrible para distribuir código Java en C. Si decide utilizar JNI, le sugiero que primero escriba una ecuación byte[] readJPG(String path); en Java y luego envíe esa ecuación en C para obtener la matriz de bytes en lugar de llamar a ImageIO directamente desde C .read(). Y ganará y aprenderá más si encuentra las respuestas usted mismo.
Finalmente, si lo que estás intentando hacer es reconocimiento de imágenes, entonces es seguro decir que las imágenes jpg no son una buena opción ya que este formato de archivo perderá datos y definitivamente (99.9999) no podrás capaz de pasar punto a punto Reconocimiento preciso para identificar imágenes. Para el reconocimiento difuso se necesitan buenos conocimientos técnicos y la eficiencia también se verá reducida. Se recomienda utilizar BMP para reconocer imágenes. Hay muchos paquetes de decodificación BMP y códigos fuente en Internet.