一君's profileRNX Studio™PhotosBlogListsMore ![]() | Help |
|
7/31/2009 业内人士自曝奶茶业黑幕 长期饮用可致癌7月29日下午,做了几年奶茶生意的朱刚(化名)曝料称,湖北武汉大多数奶茶店所售奶茶都是用奶精和甜蜜素加色素勾兑而成,长期饮用,将会埋下不少隐患。“我对我所说的任何一个字都可以负法律责任,你写新闻时可以用我的真名。” 朱刚介绍,市面上出售的大多数奶茶使用的“奶”是一种奶精,而奶精的主要成分氢化植物油是一种反式脂肪酸,与鲜奶根本搭不上边。 朱刚介绍,他之前从加盟商那里拿货,一杯奶茶使用的奶精成本在0.4元左右,现在一些厂商供应的奶精已经可以低至0.2元,至于这种0.2元成本的奶精有何玄机,自己暂不了解,“冲奶精时需要用热水,否则化不开,难看还不好喝。” 珍珠奶茶:吃珍珠当心吃的塑料 原来,朱刚加盟的那家公司在一次给他打货时明确提示,每次放珍珠和椰果时,能少就尽量少,而此要求并非是为了节约成本,“主要是怕出问题。”朱刚解释称,那家加盟公司告诉他,目前的珍珠为了增加嚼劲,有些生产商开始往里面加了高分子材料,也就是传统意义上的“塑料”,由于这家加盟公司也不敢确认他们进的珍珠是否塑料,才要求尽量少放乃至不放。 “珍珠的主要成分就是木薯淀粉,但它弹性不好,为了增加弹性,应该是添加小麦(资讯,行情)蛋白,但厂家为了节省成本,就添加高分子材料,这样嚼劲就有了,但塑料是不能被人体吸收的,长期使用的后果你想会是什么?”朱刚介绍完珍珠,又介绍起了“椰果”。 水果奶茶:添加日落黄、胭脂红等色素 奶茶甜味:甜蜜素(即糖精)代替蔗糖 食品专家:应出台规范标准 奶茶店老板:从不喝奶茶 在另外一家奶茶店,一位30多岁的奶茶店老板斩钉截铁地回答,从来不喝,“要喝也就是喝点绿茶、红茶,就是这种用茶叶直接泡出来的。”同样的,这位老板对不喝奶茶的原因讳莫如深。 专卖店:奶茶就是添加剂做成的 当获悉记者想要开家奶茶店,老板顿时热情起来,“你需要的奶茶,我这里都可以勾兑得出来。”在老板提供的一份单子上,记者看到,制作一杯普通奶茶大体需要植脂末、口服葡萄糖、麦芽糊精、鲜奶精、蛋白糖、阿拉伯胶、乙基麦芽酚、亮兰、安赛蜜、苯甲酸钠等食品添加剂。 “有不少奶茶店的老板都是从我这里进货,他们回去后勾兑成奶茶原料。”老板拿出一盒2斤的椰奶奶精报价为19元,复合甜味剂(含蛋白糖)26元,“你要是做椰奶的奶茶,用这两个就行了。”据老板介绍,这两种原料都可以冲100斤奶茶,可以做成几百杯,加上杯子和水,成本也就是在6毛钱左右,“我这里的复合甜味剂比甜蜜素更安全,味道也更香甜,比别人卖的原料好,价格也不比别人贵。” 当记者询问,要是自己随便勾兑,比例错了会不会出现问题,老板笑了笑,“奶茶就是添加剂做的,一杯奶茶含有上十种添加剂,要是出问题早就该出了。你要是害怕,少用点就行了,我这里的产品质量好得很,不会出问题。” 在千家街另外一家专卖奶茶原料的店里,记者看到,各类奶茶原料都已调配好,如浓缩果浆、各类奶茶粉、椰果、果脯、奶精、珍珠等一应俱全。店主介绍,各类产品因品牌不同,价格也不同,如浓缩果浆,“黑森林”18元一瓶,比“美味王”(13元一瓶)贵5元,这样一瓶浓缩果浆大约可以调出50杯果汁饮料来。 上学的朋友们,逛街的朋友们,打牌的朋友们,不要去喝了~7/28/2009 一个比CBitmap更优秀的类 -- CImage类Visual C++的CBitmap类的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG等)。如果想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码,未免过于繁琐. 现在,.net引入了一个功能非常强大的新类 ----- CImage.有了CImage类,Visual C++在图像方面的缺憾将一去不复返。CImage是MFC和ATL共享的新类,它能从外部磁盘中调入一个JPEG、GIF、BMP和PNG格式的图像文件加以显示,而且这些文件格式可以相互转换。例如通过简单的几句,就可以实现CImage类和CBitmap类实例的: HBITMAP hBitmap=image.Detach(); 这样一来,就又回归到以前操纵CBitmap的方式了.CImage本身封装了DIB(设备无关位图)的功能,因而能够处理每个位图像素。 它具有下列最酷特性: 由于CImage在不同的Windows操作系统中其某些性能是不一样的,因此在使用时要特别注意。例如,CImage::PlgBlt和 CImage::MaskBlt只能在 Windows NT 4.0 或更高版本中使用,但不能运行在Windows 95/98 应用程序中。CImage::AlphaBlend和CImage::TransparentBlt也只能在 Windows 2000/98或其更高版本中使用。即使在Windows 2000运行程序还必须将stdafx.h文件中的WINVER和_WIN32_WINNT的预定义修改成0x0500才能正常使用。 使用CImage的一般方法 BOOL Draw( HDC hDestDC, int xDest, int yDest, 其中,hDestDC用来指定绘制的目标设备环境句柄,(xDest, yDest)和pointDest用来指定图像显示的位置,这个位置和源图像的左上角点相对应。nDestWidth和nDestHeight分别指定图像要显示的高度和宽度,xSrc、ySrc、nSrcWidth和nSrcHeight用来指定要显示的源图像的某个部分所在的位置和大小。 rectDest和rectSrc分别用来指定目标设备环境上和源图像所要显示的某个部分的位置和大小。 void CEx_ImageView::OnFileOpen() (4) 定位到CEx_ImageView::OnDraw函数处,添加下列代码: void CEx_ImageView::OnDraw(CDC* pDC) (5) 打开Ex_ImageView.h文件,添加一个公共的成员数据m_Image: public: (6) 编译并运行。单击"打开"工具按钮,在弹出的对话框中指定一个图像文件后,单击"打开"按钮,其结果如图7.21所示。 将图片用其它格式保存 HRESULT Save( LPCTSTR pszFileName, REFGUID guidFileType= GUID_NULL); 其中,pszFileName用来指定一个文件名,guidFileType用来指定要保存的图像文件格式,当为GUID_NULL时,其文件格式由文件的扩展名来决定,这也是该函数的默认值。它还可以是GUID_BMPFile(BMP文件格式)、GUID_PNGFile(PNG文件格式)、 GUID_JPEGFile(JPEG文件格式)和GUID_GIFFile(GIF文件格式)。 void CEx_ImageView::OnFileSaveAs() 将图片用其它格式保存 HRESULT Save( LPCTSTR pszFileName, REFGUID guidFileType= GUID_NULL); 其中,pszFileName用来指定一个文件名,guidFileType用来指定要保存的图像文件格式,当为GUID_NULL时,其文件格式由文件的扩展名来决定,这也是该函数的默认值。它还可以是GUID_BMPFile(BMP文件格式)、GUID_PNGFile(PNG文件格式)、 GUID_JPEGFile(JPEG文件格式)和GUID_GIFFile(GIF文件格式)。 void CEx_ImageView::MakeBlackAndwhite(CImage* image) 至此,我们介绍了GDI+和CImage的一般使用方法和技巧。当然,它们本身还有许多更深入的方法,由于篇幅所限,这里不再一一讨论。 Windows Mobile下的重力感应器(Gravitational Sensor)开发背景重力感应器(Gravitational Sensor,简称为GSensor),类似于Accelerometer和Tilt Sensor, 用于测量倾斜度的感应器。严格定义来说,Accelerometer和Tilt Sensor是有区别的,Accelerometer可以测量三维,而Tilt Sensor只能测量二维。术语的定义见 Accelerometer 和Tilt_sensor 。 Accelerometer被广泛用于手机等移动设备上,同时用于Wii的手柄上,Wii游戏的移动就是根据Accelerometer测量的数据进行移动的。 简介重力感应器(Gravitational Sensor, Accelerometer)已经被广泛应用于Windows Mobile设备上,可是由于MS没有官方定义和提供统一的API,为重力感应器的开发带来不便,本文讲述如何在HTC和Samsung设备上进行重力感应器的开发,实现统一访问了GSensor的类库,在实现过程中使用了Singleton,Simple Factory和Observer模式。 原理根据设备的内在能力,Accelerometer能够测量一维,二维或者三维的重力加速度。关于 Accelerometer的原理可以参考wikipedia的文章Accelerometer,我不详细介绍了,我主要介绍一下软件开发相关的。 图1 源自于《Samsung Mobile Innovator Windows Mobile API Programming Guide》 从上图可以看出重力信息只是和设备本身有关,和设备在相对位置无关。例如设备平放在水平的桌面上,对这长的屏幕前后移动设备(如下图2),Y轴会发生变化。 图2 源自于 Windows Mobile Unified Sensor API 另外的情况,设备长的屏幕垂直放(如下图3),上下移动,也是Y轴在发生变化。 图3 源自于 Windows Mobile Unified Sensor API Samsung 的手机可以输入 *#0*# 启动LCD Test 程序来测试Accelerometer的运行状况。 原罪Windows Mobile 6.5及以下的设备,是没有统一的API操作GSensor,MS一直没有统一包括GSensor在内的所有Sensor的接口(其他Sensors包括Light Sensor,Stylus Sensor等等),甚至连WM7也没有官方答复,关于MS的答复可以参考下面链接 Windows Mobile finally getting a Unified Sensor API, support for capacitive screens? Update: Answer – No. 没有统一的API,各个手机硬件厂商都需要开发自己的API,其中以HTC和samsung最为出名。开始的时候,各个厂商都不公开自己的API,导致Windows Mobile的开发人员只能通过反向工程(Reverse Engineering)等非正当手段获取API,哪怕获取了厂商的API,开发的程序也不能同时支持多种硬件设备。幸运的是Koush 封装了一个托管版本的 Windows Mobile Unified Sensor API ,同时支持HTC和Samsung。下面我会介绍如何使用native c++分别调用HTC和Samsung的GSensor API。 Samsung GSensor APISamsung已经公开了自己的API,可以在 Samsung Mobile Innovator Windows Mobile SDK 1.1 注册下载和安装。里面包含的Samsung官方的GSensor API。 使用Samsung的API需要安装一个Cab。Cab在 C:\Program Files\Samsung Windows Mobile SDK\redist\smi_wm_sdk_redist_1_1_0.cab GSensor API定义见 C:\Program Files\Samsung Windows Mobile SDK\inc\smiAccelerometer.h 取GVector信息GVector SamsungGSensor::GetGVector() 调用SmiAccelerometerGetVector() API取出GVector信息。 订阅GVector信息Samsung的API提供订阅功能。 void SamsungGSensor::Register() SmiAccelerometerGetCapabilities()函数检查GSensor的情况,SmiAccelerometerRegisterHandler()注册GetVectorHandler处理函数定期取出GVector信息,SmiAccelerometerRegisterHandler()的第一个参数为interval(取数据的间隔),第二个为回调处理函数,该函数只能为static。 void SamsungGSensor::Unregister() void SamsungGSensor::GetVectorHandler(SmiAccelerometerVector accel) private: 由于SmiAccelerometerRegisterHandler()注册的回调函数只能是static的,所以我在开发SamsungGSensor的时候不得不把这个类做成Singleton,否则static函数没法取出对象的实例指针了。 运行于Samsung机器的界面。 HTC GSensor API目前为止(2009年7月),HTC还没有公开Sensor的APIs,所以这些API都是通过反向工程(Reverse Engineering)出来的,使用有风险,自己承担。 API的定义生成和清理private: #define SENSOR_DLL L"HTCSensorSDK.dll" HTCGSensor()构造函数加载DLL和生成函数调用的入口指针。Create()函数启动Sensor。~HTCGSensor()释放资源。 取GVector信息GVector HTCGSensor::GetGVector() 订阅GVector信息由于HTC的API不提供订阅功能,所以我封装了一个ThreadTask(线程任务)类,否则生成一个线程,定期执行任务,在这个场景下是定期取GVector信息。 #include <Windows.h> // Thread methods 作为ThreadTask的子类只需要知道interval来启动Thread,然后重写处理定时任务函数(Override Process() )。 void HTCGSensor::Register() Sensors工厂Client不需要知道具体那个厂家(HTC or Samsung)的Sensor,只需要调用工厂类生成Sensor类。 class GSensorFactory IGSensor* GSensorFactory::CreateGSensor() 自动生产相应的Sensor LRESULT CSensorTesterView::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) Client只是调用工厂类生产Sensor对象。 Observer模式为Client提供一个当GVector发生改变时自动通知更新的功能,这里使用了Observer模式,我使用了一个开源的类 Experiences of Implementing the Observer Design Pattern (Part 3) ,这个类具有很多优点,类型安全(type safe),通用性(generic),任意参数类型和任意参数数量,回传Sender的指针等等, 代码在这里下载http://tse3.sourceforge.net/doc/api/TSE3__Notifier.html class IGSensor; 这是Listener,也就是我们常说的Abstract Observer。需要定义notifier_type和定义回调接口。 /**这是Notifier也就是Subject,需要继承 Notifier<IGSensorListener> 。 class CSensorTesterView : LRESULT CSensorTesterView::OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) 上面显示的是client类,为了演示把一些Observer模式无关的代码删除掉,完整代码可以下载源代码。client类需要继承public Listener<IGSensorListener>,重写IGSensor_GVectorChanged()函数和调用attachTo()函数进行注册。 一个统一访问GSensor的类库和实例代码就完成了。由于没有HTC的机器,如果谁能为我提供一个测试,我会衷心感谢他。 源代码:SensorTester.rar 环境:VS2008 + WM 6 professional SDK + Samsung Windows Mobile SDK 作者:Jake.NET(Jake's Blog on 博客园) Tag标签: Windows Mobile,GSensor,HTC,Samsung 7/26/2009 光荣加入光头党一中国导演想模仿《星球大战》拍科幻电影《地球保卫战》一位中国导演想模仿《星球大战》拍一部科幻大片《地球保卫战》,于是他写好了剧本,也找好了投资,准备开拍。当然,拍之前必须送交广电总局审查。于是他把剧本大纲寄给了广电总局。 7/19/2009 无标题文档第三天了~自我封闭了三天,做了三天睡衣党,不理任何人,当然没也什么人理我。吃饭没食欲,三天全素餐,每天的睡觉时间超过16个小时,全天躲在空调房间里,一个人研究着d2的缺陷、对比各种信用卡之间的差别、各种日期与存款的计算与计划、音频降噪处理的学习、反复看着难得隐身的IM上有谁出现有谁离开而不参与任何对话、反复考虑自己的未来、看小说看到手机没电也不高兴充,唯一觉得有点意思的是,做了很多家务活,心情低落的一塌糊涂。 很明显,我是知道自己为什么这么低落的,自作孽也好,谁作孽也好,低落就像女人的每月那几天一样光顾着我的生活。是的,谁也没有时光机器,所以,后悔没什么用,自己的路,自己走,别人的生活,别人过。去年的这个时候,整个情况都是反的,结果得意忘形~ 得意忘形,实在是本人一大缺点,切记切忌。 新主板的电子噪音真的很大,用麦录音时的背景电流噪声实在是和老机器不能比,可能功率大了,关闭了音频增强功能也不能避免,所以研究了在CEP中的降噪处理,很简单,首先在极其安静的情况下录一段环境噪声,再使用“效果”->“降噪器”中的噪音采样功能将其收录, 然后重建一份声音档,开始正常录音,完成后,会从波形图上很明显的看到背景噪音, 再次打开降噪器,调整曲线的平滑度,反复试听,基本能将整段音频的噪音降低到原来的30%,然后在两段波形空隙的地方,使用“音量标准化”调整成0.5%即可(网上有文说直接使用静音菜单,我觉得,如果直接静音,一些自然的换气声会被去除,显得整段音频是一口气录下来的一样,听起来很累),如果换气声比较大,可以将其标准化至1~2%左右,效果不错。当然啦,最重要的还是录音设备要好,那是无敌的,我那30元的耳麦和600元的主板是不能解决大问题的~ 明天又要准时带上面具,上演人生大戏~ 7/12/2009 汉语六级考试题鉴于我国改革开放力度不断加大,越来越多的外国人口涌入我国。由于其中绝大多数人不能熟练地掌握汉语,这给双方在沟通上造成了很大的不便,也容易引起一些不必要的误会。在我国第250届全国****大会第13次全体会议上特作出决定:以后凡外籍人士进入我国,必须先通过汉语六级考试,否则将不予发放签证。另据消息,美国哈佛大学、麻省理工学院、英国牛津、剑桥大学等国外高等学府纷纷作出规定:凡在该校就读人员,如不能通过汉语六级考试,将不予发放毕业证书。为方便广大外籍人士做好应准备,我们特将部分例题公布如下: 世界就是一个班1、美国 班长,学习好,家里有钱,人高马大,好打架。班里没几个人敢惹他。和副班长关系不好。 7/10/2009 那一年 我们都没有钱 不知道从什么时候开始穿阿迪 耐克 算算各行业的人为一套房子要奋斗多少年?经济新闻又报道房价,72家房地大老板联合起来抵制房价下降;我也是很无意的看了一下,舌头半天没缩回去。沿海的房价又噌噌的上去了一截,现在连西北各地也让人吃惊不小。二手房虽然降了点,但在沿海一带,也可以卖到和新房差不多的价格一万多到两万/平方米。我们的金融大都市的上海很多城乡结合处,比较偏僻的地方也贵的吓死;,假如在沿海一带的城市里如上海、深圳等比较发达的地方想要拥有一套小一点的两房一厅,居然也得要100万,现在就连西部很多城市也要40万到80万。而且现在还出现已经消失几百上千年的字:奴! 不用代理直接上youtube.com~以前一直喜欢上youtube,自从被墙河蟹了以后,每次都要翻墙才能上~ 现在不用了,教大家一招: 1.用记事本打开此文件 C:\WINDOWS\system32\drivers\etc\hosts , 这个文件没有后缀名,但是可以直接用记事本打开。 (如果你的OS装在C盘,如果装在其它盘符,替换那个C就好,就像d:\WINDOWS\system32\drivers\etc\) 2.你会看到如下内容: # Copyright (c) 1993-1999 Microsoft Corp. 127.0.0.1 localhost
3.在最后一行的下面再添加如下内容: 203.208.33.100 www.youtube.com 4.保存并关闭此文件。 5.直接浏览器打www.youtube.com 6.U did it~ ps:举一反三,以后碰到要翻墙的网站,直接把它的IP和它的域名象上面这样绑定起来,就不用通过河蟹局域网DNS墙了~ 此人能活着写出这贴真不容易HCl H2SO4 HNO3 CuSO4 BaCl2 CCl4 Na2O2 无水酒精 FeCl3 AgNO3 稀Br2水溶液 Hg(NO3)2 H2O2 还有一个百度知道里面的: 极其微量的氰化物是苦的,宝贵资料啊。 乙酰水杨酸我试过有点酸,有点涩,最后有点苦尽甘来的那种感觉。 我尝过溴化氢,一不小心吸进去的。味道上没什么感觉,但是非常呛,吸进去很少,但是咳了一整个下午,一直到吃晚饭都反胃,印象深刻啊! 从上文看,他至少还尝过硬币、松节油、味精与醋的混合物。另外还吸过一大口汽车尾气… 7/1/2009 哭笑不得的假货大全 |
|
|