亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? img.cc

?? kaffe Java 解釋器語言,源碼,Java的子集系統,開放源代碼
?? CC
?? 第 1 頁 / 共 2 頁
字號:
/* * img.c -  * * Copyright (c) 1998 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution  * of this file.  */#include <stdio.h>#include <qimage.h>#include "toolkit.h"/* interfaces of image conversion functions *///Image* readGifFile ( int fd , char *fn);//Image* readGifData ( unsigned char*, long len );//Image* readJpegFile ( int fd );//Image* readJpegData ( unsigned char*, long len );//Image* readPngFile ( int fd );//Image* readPngData ( unsigned char*, long len );/************************************************************************************ * own auxiliary funcs */Image*createImage ( int width, int height ){  Image * img = (Image*)AWT_CALLOC( 1, sizeof( Image));  img->trans  = -1;     /* default to no alpha */  img->width = width;   /* we need to (temp) store them for subsequent X image creation */  img->height = height;  return img;}#if 0static intcreateShmXImage ( Toolkit* X, Image* img, int depth, int isMask ){  return 0;}static voiddestroyShmXImage ( Toolkit* X, Image* img, int isMask ){}#endifvoidcreateXImage ( Toolkit* X, Image* img ){  int bitmap_pad;  int bytes_per_line;  int bytes_per_pix;  unsigned int nPix;  char *data;#if 0  Visual *vis  = DefaultVisual( X->dsp, DefaultScreen( X->dsp));  int    depth = DefaultDepth(  X->dsp, DefaultScreen( X->dsp));	  if ( depth <= 8)	      bytes_per_pix = 1;  else if ( depth <= 16)  bytes_per_pix = 2;  else			          bytes_per_pix = 4;  bytes_per_line = bytes_per_pix * img->width;  bitmap_pad = bytes_per_pix * 8;  nPix = img->width * img->height;  if ( (X->shm == USE_SHM) && (nPix > X->shmThreshold) && (img->alpha == 0) ) {	if ( createShmXImage( X, img, depth, False) ){	  DBG( AWT_IMG, printf("alloc Shm: %p %p %p (%dx%d) \n", img, img->qImg, img->shmiImg,					  img->width, img->height));	  return;	}  }  data = AWT_CALLOC( nPix, bytes_per_pix);  img->xImg = XCreateImage( X->dsp, vis, depth, ZPixmap, 0,							data, img->width, img->height, bitmap_pad, bytes_per_line);#endif  img->qImg = new QImage();  DBG( AWT_IMG, printf( "alloc: %p %p (%dx%d)\n", img, img->qImg, img->width, img->height));}voidcreateXMaskImage ( Toolkit* X, Image* img ){  int     bytes_per_line;  unsigned int nBytes, nPix;  char    *data;  //Visual  *vis = DefaultVisual( X->dsp, DefaultScreen( X->dsp));  bytes_per_line = (img->width + 7) / 8;  nPix   = img->width * img->height;  nBytes = bytes_per_line * img->height;#if 0  if ( (X->shm == USE_SHM) && (nPix > X->shmThreshold) ) {	if ( createShmXImage( X, img, 1, True) ){	  DBG( AWT_IMG, printf( "alloc Shm mask: %p %p %p (%dx%d) \n", img, img->xMask, img->shmiMask,					  img->width, img->height));	  return;	}  }#endif  data = (char*)AWT_MALLOC( nBytes);  memset( data, 0xff, nBytes);  img->qImg_AlphaMask = new QImage();//  img->xMask = XCreateImage( X->dsp, vis, 1, XYBitmap, 0,//							 data, img->width, img->height, 8, bytes_per_line );  DBG( AWT_IMG, printf( "alloc mask: %p %p (%dx%d)\n", img, img->qImg_AlphaMask, img->width, img->height));}voidcreateAlphaImage ( Toolkit* X, Image *img ){  int nBytes = img->width * img->height;  img->alpha = (AlphaImage*)AWT_MALLOC( sizeof( AlphaImage));  img->alpha->width  = img->width;  img->alpha->height = img->height;  img->alpha->buf = (unsigned char*)AWT_MALLOC( nBytes);  memset( img->alpha->buf, 0xff, nBytes);}/* * For images with a full alpha channel, check if we really need an alpha byte for * each pel, or if a mask bitmap (alpha 0x00 / 0xff) will be sufficient */intneedsFullAlpha ( Toolkit* X, Image *img, double threshold ){  int i, j, a;  int n = 0, max;  if ( !img->alpha ) return 0;  max = (img->width * img->height) * threshold;  for ( i=0; i<img->height; i++ ) {	for ( j=0; j<img->width; j++ ) {	  a = GetAlpha( img->alpha, j, i);	  if ( (a != 0) && (a != 0xff) ) {		if ( ++n > max )		  return 1;	  }	}  }  return 0;}/* * A full alpha image channel is way slower than using a mask bitmap (= 0 / 0xff alpha). * This function provides a simple alpha-to-mask translation *//* also used in imgpng */voidreduceAlpha ( Toolkit* X, Image* img, int threshold ){  int i, j, a;  if ( !img->alpha )	return;  //createXMaskImage( X, img);  img->qImg->setAlphaBuffer(TRUE);  *(img->qImg_AlphaMask) = img->qImg->createAlphaMask();  for ( i=0; i<img->height; i++ ) {	for ( j=0; j<img->width; j++ ) {	  a = GetAlpha( img->alpha, j, i);	  if ( a < threshold ) {		//XPutPixel( img->xImg, j, i, 0);		//XPutPixel( img->xMask, j, i, 0);		 		DBG( AWT_IMG, printf("reduce alpha! %d %d",img->qImg->width(),img->qImg->height()) );		img->qImg->setPixel(j,i,0);	  }	}  }  AWT_FREE( img->alpha->buf);  AWT_FREE( img->alpha);  img->alpha = 0;}#if 0static inline intinterpolate ( int ul, int ur, int ll, int lr, double dx, double dy ){  double u = ul + (double)(ur - ul) * dx;  double l = ll + (double)(lr - ll) * dx;  return (int) (u + (l - u) * dy  + 0.5);}static unsigned intgetScaledAlpha ( Toolkit* X, Image* img, int x, int y, double dx, double dy ){  int   ul, ur, ll, lr, a;  int   xi = (dx) ? x+1 : x;  int   yi = (dy) ? y+1 : y;  if ( img->alpha ) {	ul = GetAlpha( img->alpha, x, y);	ur = GetAlpha( img->alpha, xi, y);	ll = GetAlpha( img->alpha, x, yi);	lr = GetAlpha( img->alpha, xi,yi);	a = (unsigned int) interpolate( ul, ur, ll, lr, dx, dy);	return a;  }  return 0xff;}static longgetScaledPixel ( Toolkit* X, Image* img, int x, int y, double dx, double dy ){  unsigned long  ul, ur, ll, lr;  int            ulR, urR, llR, lrR, ulG, urG, llG, lrG, ulB, urB, llB, lrB, r, g, b;  int            xi = (dx) ? x+1 : x;  int            yi = (dy) ? y+1 : y;  if ( img->xMask ) {	ul = XGetPixel( img->xMask, x, y);	ur = XGetPixel( img->xMask, xi, y);	ll = XGetPixel( img->xMask, x, yi);	lr = XGetPixel( img->xMask, xi,yi);		if ( !interpolate( ul, ur, ll, lr, dx, dy) )	  return -1;  }  ul = XGetPixel( img->xImg, x, y);  ur = XGetPixel( img->xImg, xi, y);  ll = XGetPixel( img->xImg, x, yi);  lr = XGetPixel( img->xImg, xi,yi);  if ( (ul == ur) && (ll == ul) && (lr == ll) ) {//	rgbValues( X, ul, &r, &g, &b);  }  else {//	rgbValues( X, ul, &ulR, &ulG, &ulB);//	rgbValues( X, ur, &urR, &urG, &urB);//	rgbValues( X, ll, &llR, &llG, &llB);//	rgbValues( X, lr, &lrR, &lrG, &lrB);	r = interpolate( ulR, urR, llR, lrR, dx, dy);	g = interpolate( ulG, urG, llG, lrG, dx, dy);	b = interpolate( ulB, urB, llB, lrB, dx, dy);  }//  return pixelValue( X, (r << 16) | (g << 8) | b);  return 0;}voidinitScaledImage ( Toolkit* X, Image *tgt, Image *src,				  int dx0, int dy0, int dx1, int dy1,				  int sx0, int sy0, int sx1, int sy1 ){  double         xScale, yScale, sX, sY, sxDelta, syDelta;  int            dx, dy, dxInc, dyInc, sx, sy;  long           c;  dxInc = (dx1 > dx0) ? 1 : -1;  dyInc = (dy1 > dy0) ? 1 : -1;  dx1 += dxInc;  dy1 += dyInc;  xScale = (double) (dx1 - dx0) / (double) (sx1 - sx0 +1);  yScale = (double) (dy1 - dy0) / (double) (sy1 - sy0 +1);  for ( dy=dy0; dy != dy1; dy += dyInc ) {	sY = sy0 + (dy - dy0) / yScale;	sy = (int) sY;	syDelta = (sy < sy1) ? sY - sy : 0;	for ( dx=dx0; dx != dx1; dx += dxInc ) {	  sX = sx0 + (dx - dx0) / xScale;	  sx = (int) sX;	  sxDelta = (sx < sx1) ? sX - sx : 0;	  if ( (c = getScaledPixel( X, src, sx, sy, sxDelta, syDelta)) != -1 ){  		XPutPixel( tgt->xImg, dx, dy, c);		if                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ( src->alpha )		  PutAlpha( tgt->alpha, dx, dy, getScaledAlpha( X, src, sx, sy, sxDelta, syDelta));	  }	  else {		XPutPixel( tgt->xMask, dx, dy, 0);		XPutPixel( tgt->xImg, dx, dy, 0);	  }	}  }}#endif/************************************************************************************ * exported native methods */void*Java_java_awt_Toolkit_imgCreateImage ( JNIEnv* env, jclass clazz, jint width, jint height ){  printf("imgCreateImage w=%d h=%d\n",(int)width,(int)height);  Image *img = createImage( width, height);  createXImage( X, img);  return img;}void*Java_java_awt_Toolkit_imgCreateScreenImage ( JNIEnv* env, jclass clazz, jint width, jint height ){  printf("imgCreateScreenImage w=%d h=%d\n",(int)width,(int)height);  Image  *img = createImage( width, height);  //int    depth = DefaultDepth(  X->dsp, DefaultScreen( X->dsp));  //img->pix  = XCreatePixmap( X->dsp, X->root, width, height, depth);  img->qpm = new QPixmap(width,height);  return img;}/* generic (ImageProducer) based image construction */voidJava_java_awt_Toolkit_imgSetIdxPels ( JNIEnv* env, jclass clazz, Image * img,		jint x, jint y, jint w, jint h,		jintArray clrMap, jbyteArray idxPels, jint trans,		jint off, jint scan){  printf("imgSetIdxPels\n");  register int    row, col;  unsigned long   pix;  jint            rgb;  jboolean        isCopy;  jint            *clr = env->GetIntArrayElements( clrMap, &isCopy);  jbyte           *pel = env->GetByteArrayElements( idxPels, &isCopy);  unsigned char   *idx = (unsigned char*)(pel + off);  int             maxCol = x + w;  int             maxRow = y + h;  unsigned char   curPel;//  if ( (trans >= 0) && !img->xMask )//	createXMaskImage( X, img);  if ( (trans >= 0) && !img->qImg_AlphaMask)	img->qImg_AlphaMask = new QImage();  for ( row = y; row < maxRow; row++) {    for ( col = x; col < maxCol; col++) {      curPel = idx[col + row * scan];      rgb = clr[curPel];//      pix = pixelValue( X, rgb);      if ( trans >= 0 ) {		if ( curPel == trans ){		  pix = 0;		  //XPutPixel( img->xMask, col, row, 0);		  img->qImg_AlphaMask->setPixel(col,row,0);		}      }      //XPutPixel( img->xImg, col, row, pix);      img->qImg->setPixel(col,row,rgb);    }  }  env->ReleaseIntArrayElements( clrMap, clr, JNI_ABORT);  env->ReleaseByteArrayElements( idxPels, pel, JNI_ABORT);}voidJava_java_awt_Toolkit_imgSetRGBPels ( JNIEnv* env, jclass clazz, Image * img,									  jint x, jint y, jint w, jint h,									  jintArray rgbPels, jint off, jint scan){  printf("imgSetRGBPels\n");  register int    row, col;  unsigned long   pix = 0;  jboolean        isCopy;  jint            *rgbs = env->GetIntArrayElements( rgbPels, &isCopy);  jint            *rgb = rgbs + off;  int             maxCol = x + w;  int             maxRow = y + h;  jint		  val;  for ( row = y; row < maxRow; row++) {    for ( col = x; col < maxCol; col++) {	  val = rgb[col + row * scan];	  if ( (val & 0xff000000) == 0xff000000 ) {//		pix = pixelValue( X, val);		//XPutPixel( img->xImg, col, row, pix);		img->qImg->setPixel(col,row,val);	  }	  else {		/*		 * No way to tell for now if this will be a reduced (on/off) or a		 * full alpha channel. We have to be prepared for the "worst", and reduce		 * later		 */		if ( !img->alpha )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区久久久蜜月 | 免费成人性网站| 九九在线精品视频| 色av成人天堂桃色av| 久久久久久久久97黄色工厂| 伊人开心综合网| 国产精品 日产精品 欧美精品| 欧洲精品在线观看| 中文字幕乱码久久午夜不卡| 日产国产欧美视频一区精品| 色婷婷香蕉在线一区二区| 色94色欧美sute亚洲线路一久| 国产麻豆午夜三级精品| 成人av电影免费观看| 91麻豆精品国产| 亚洲欧美日韩国产另类专区| 国产99精品视频| 欧美大片在线观看一区| 日韩制服丝袜av| 欧美视频在线观看一区| 中文字幕欧美一区| 成人禁用看黄a在线| 国产肉丝袜一区二区| 久久精品99久久久| 精品国产在天天线2019| 久久9热精品视频| 日本成人超碰在线观看| av综合在线播放| 国产精品美女一区二区三区| 国产精品一区二区在线看| 久久人人爽爽爽人久久久| 久久av资源网| 国产亚洲综合在线| 国产老女人精品毛片久久| 亚洲国产日韩a在线播放性色| 99国产一区二区三精品乱码| 中文字幕一区二区三区不卡在线 | 久久99日本精品| 精品少妇一区二区三区在线播放 | 精品国产a毛片| 国产专区欧美精品| 久久久久久免费网| 成人免费视频国产在线观看| 国产精品久线观看视频| 亚洲小少妇裸体bbw| 日韩理论在线观看| 91在线观看免费视频| 亚洲人快播电影网| 91国偷自产一区二区开放时间| 亚洲人xxxx| 在线不卡一区二区| 激情久久久久久久久久久久久久久久| 久久久久久久久99精品| 99久久精品国产毛片| 亚洲尤物在线视频观看| 88在线观看91蜜桃国自产| 蜜臀av一区二区在线免费观看| 久久一留热品黄| 成人小视频在线观看| 一级女性全黄久久生活片免费| 91麻豆精品国产91| 国产.欧美.日韩| 亚洲成人免费在线| 久久看人人爽人人| 色呦呦网站一区| 久久精品国产亚洲高清剧情介绍 | 久久66热偷产精品| 国产视频911| 在线免费不卡视频| 91啪在线观看| 奇米精品一区二区三区在线观看一 | 色屁屁一区二区| 另类小说色综合网站| 中文字幕在线不卡| 欧美成人艳星乳罩| 欧美最猛黑人xxxxx猛交| 国内不卡的二区三区中文字幕| 亚洲图片欧美激情| 久久先锋影音av| 欧美日本在线观看| 99精品黄色片免费大全| 毛片av一区二区三区| 夜夜精品视频一区二区| 日本一区二区三区久久久久久久久不 | 欧美裸体bbwbbwbbw| 成人午夜电影久久影院| 日本va欧美va欧美va精品| 中文字幕一区不卡| 久久婷婷国产综合精品青草| 欧美日韩日日骚| 日本丶国产丶欧美色综合| 国产精品一区二区久久不卡| 日韩国产欧美视频| 亚洲最大成人综合| 国产精品你懂的在线| 久久久综合激的五月天| 日韩午夜精品视频| 欧美精品一卡二卡| 欧美这里有精品| 99精品黄色片免费大全| 成人激情动漫在线观看| 国产成人综合视频| 国产中文字幕一区| 久久99久久99精品免视看婷婷| 亚洲福利一区二区| 亚洲一区二区三区视频在线 | 日韩欧美成人午夜| 欧美丰满高潮xxxx喷水动漫| 欧美怡红院视频| 色噜噜狠狠色综合中国| 91麻豆免费观看| 一本到高清视频免费精品| 不卡一卡二卡三乱码免费网站| 国产suv精品一区二区三区| 九九**精品视频免费播放| 看电影不卡的网站| 久久99国产精品久久99果冻传媒| 蜜臀久久99精品久久久久宅男| 午夜精品福利一区二区三区av| 婷婷夜色潮精品综合在线| 国产成人免费在线观看不卡| 国产一区二区网址| 国产91精品久久久久久久网曝门| 国产成人在线视频网址| 大桥未久av一区二区三区中文| 成人午夜精品在线| 一本到高清视频免费精品| 在线一区二区三区四区| 欧美日韩在线播放| 91精品国产一区二区人妖| 欧美一级视频精品观看| 日韩精品一区二区三区四区视频| 日韩免费电影一区| 国产日韩欧美电影| 亚洲黄一区二区三区| 日韩成人精品在线| 国产精品一品二品| 色天天综合色天天久久| 在线播放/欧美激情| 久久免费看少妇高潮| 不卡区在线中文字幕| 亚洲欧洲精品成人久久奇米网| 国产女主播一区| 亚洲日本在线看| 亚洲成人动漫在线观看| 美国毛片一区二区| 丁香婷婷综合色啪| 欧洲国内综合视频| 日韩欧美国产一区二区在线播放| 国产无人区一区二区三区| 亚洲视频一区二区免费在线观看 | 亚洲图片一区二区| 精品影院一区二区久久久| 成人av网站在线观看| 欧美美女黄视频| 国产精品五月天| 日本欧美一区二区在线观看| 国产99精品国产| 91精品国产欧美一区二区| 国产精品免费网站在线观看| 日本伊人精品一区二区三区观看方式| 国产成人欧美日韩在线电影| 欧美日本视频在线| 蜜桃视频在线观看一区二区| 国产成人综合网站| 日韩三级电影网址| 亚洲欧美色一区| 国产精品亚洲人在线观看| 在线观看国产91| 国产情人综合久久777777| 亚洲电影在线播放| 成人激情文学综合网| 日韩欧美激情四射| 午夜在线成人av| 色综合久久天天| 国产日韩欧美一区二区三区乱码| 日韩av一级片| 欧美性一二三区| 亚洲男同1069视频| 成人免费视频国产在线观看| 欧美成人精品高清在线播放| 亚洲成av人片在线| 在线精品视频免费观看| 国产精品私人影院| 国产精华液一区二区三区| 精品国产欧美一区二区| 三级一区在线视频先锋| 欧美日韩一区在线观看| 亚洲精品国产a久久久久久| a4yy欧美一区二区三区| 欧美极品xxx| 成人美女视频在线观看18| 精品国产露脸精彩对白| 日本不卡一区二区| 91精品黄色片免费大全| 丝袜亚洲另类丝袜在线| 欧美精品久久天天躁| 午夜精品一区在线观看| 欧美日韩一级片在线观看| 偷拍与自拍一区|