📄 bmp.h
字号:
/* libwmf ("ipa/svg/bmp.h"): library for wmf conversion Copyright (C) 2000 - various; see CREDITS, ChangeLog, and sources The libwmf Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The libwmf Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the libwmf Library; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */static void wmf_svg_rop_draw (wmfAPI* API,wmfROP_Draw_t* rop_draw){ /* wmf_svg_t* ddata = WMF_SVG_GetData (API); */ WMF_DEBUG (API,"~~~~~~~~wmf_[svg_]rop_draw"); }/* TODO ?? Care about bmp_draw->type */static void wmf_svg_bmp_draw (wmfAPI* API,wmfBMP_Draw_t* bmp_draw){ wmf_svg_t* ddata = WMF_SVG_GetData (API); float width; float height; char* name = 0; svgPoint pt; wmfStream* out = ddata->out; WMF_DEBUG (API,"~~~~~~~~wmf_[svg_]bmp_draw"); if (out == 0) return; if (bmp_draw->bmp.data == 0) return; if ((ddata->flags & WMF_SVG_INLINE_IMAGES) == 0) { if (ddata->image.name == 0) return; name = ddata->image.name (ddata->image.context); if (name == 0) return; wmf_ipa_bmp_png (API,bmp_draw,name); if (ERR (API)) { WMF_DEBUG (API,"bailing..."); return; } /* Okay, if we've got this far then "name" is the filename of an png (cropped) image */ } pt = svg_translate (API,bmp_draw->pt); width = (float) (bmp_draw->pixel_width * (double) bmp_draw->crop.w); height = (float) (bmp_draw->pixel_height * (double) bmp_draw->crop.h); width = svg_width (API,width); height = svg_height (API,height); width = ABS (width); height = ABS (height); wmf_stream_printf (API,out,"<image "); wmf_stream_printf (API,out,"x=\"%f\" ",pt.x); wmf_stream_printf (API,out,"y=\"%f\" ",pt.y); wmf_stream_printf (API,out, "width=\"%f\" ",width); wmf_stream_printf (API,out,"height=\"%f\"\n",height); width /= (float) bmp_draw->crop.w; height /= (float) bmp_draw->crop.h; wmf_stream_printf (API,out,"\ttransform=\"matrix("); wmf_stream_printf (API,out,"%f 0 0 %f %f %f)\"\n",width,height,pt.x,pt.y); if ((ddata->flags & WMF_SVG_INLINE_IMAGES) == 0) { wmf_stream_printf (API,out,"\tsodipodi:absref=\"%s\"\n",name); wmf_stream_printf (API,out,"\txlink:href=\"%s\"/>\n",name); } else { wmf_stream_printf (API,out,"\txlink:href=\"data:image/png;base64,"); wmf_ipa_bmp_b64 (API,bmp_draw,out); if (ERR (API)) { WMF_DEBUG (API,"bailing..."); return; } wmf_stream_printf (API,out,"\"/>\n"); }}static void wmf_svg_bmp_read (wmfAPI* API,wmfBMP_Read_t* bmp_read){ WMF_DEBUG (API,"~~~~~~~~wmf_[svg_]bmp_read"); wmf_ipa_bmp_read (API,bmp_read);}static void wmf_svg_bmp_free (wmfAPI* API,wmfBMP* bmp){ WMF_DEBUG (API,"~~~~~~~~wmf_[svg_]bmp_free"); wmf_ipa_bmp_free (API,bmp);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -