草庐IT

image-optimization

全部标签

ruby - 如何仅在宽度超过 Graphics/Image Magick 时调整图像大小

如下所示:http://www.imagemagick.org/Usage/resize/#shrink选项:-resize64x64>仅当宽度和高度超过64像素时才调整大小。但是,如果可行的话,如何做类似的事情:-resize64>x或-resize64x'ignores'>换句话说,如果只有宽度超过这个尺寸。这可能吗? 最佳答案 您可以通过使用“不大可能”的高度值轻松实现:convertorig.png-resize'64x10000>'scaled.png仅当原始PNG的宽度大于64像素或其高度大于10000像素时,才会调整原

ruby-on-rails - Rails Image Helper 的可选参数

在我当前的Rails(Rails2.3.5、Ruby1.8.7)应用程序中,如果我希望能够像这样定义一个助手:defproduct_image_tag(product,size=nil)html=''pi=product.product_images.first.filenamepi="products/#{pi}"pa=product.product_images.first.alt_textifpi.nil?||pi.empty?html=image_tag("http://placehold.it/200x200",:size=>"200x200")elsehtml=image_

ruby-on-rails - 我如何 stub results.map(& :blank_image) in Rspec?

我正在写测试,我到了这一行:blank_images=results.map(&:blank_image)在我的测试中,我试图对它进行stub并让它返回一个数组:expect(results).toreceive(:map).with(&:blank_image).and_return([true,true,true])我不断收到消息:ArgumentError:`with`musthaveatleastoneargument.Use`no_args`matchertosettheexpectationofreceivingnoarguments.如何将&:blank_image传递给

ruby - 生成博客时 octopress image_tag 插件的语法错误

我使用octopress对于我的技术博客。我从官方octopressrepo更新了我的octopress代码,当我运行rakegenerate时出现这样的错误:|1.9.3-p194|homein~/Documents/work/git/muratcorlu.github.com±|source✓|→rakegenerate##GeneratingSitewithJekylldirectorysource/stylesheets/createsource/stylesheets/screen.cssConfigurationfrom/Users/muratcorlu/Documents

ruby - Opengl, ruby ,glBlendFunc : place transparent images on top of each others as if it was opaque

我不确定glBlendFunc是否是解决我问题的好函数,但我认为我会需要它!这是我的问题:你看到右边那两棵松树的倒影了吗?我想要这样的东西:然后,我需要一种方法来显示与不透明图像相同的显示,但具有透明图像。glBlendFunc中有没有特殊的组合,或者我应该通过其他方式进行? 最佳答案 我认为纯粹的混合方法行不通。如果你有两个重叠的树反射,第一个在渲染后与水混合。当您绘制第二棵树时,您可能只想将第二棵树与水混合。但是帧缓冲区中水的颜色已经与第一棵树混合,因此单独的水色不再存在于帧缓冲区中。我想到了三种方法:将所有树反射绘制到FBO中

ruby - Rails + Carrierwave + RMagick : Crop only if image is large

我正在使用载波上传图片。在上传时,我正在为图像创建缩略图,这是使用Rmagick方法完成的,resize_to_fill如下所示。version:thumbdoprocess:resize_to_fill=>[150,150]end这里是所有RMagick方法的输出carrierwavesupports(我都不想要)::resize_to_fill=>[150,150]这适用于较大的图像,但我的较小图像被放大到150x150。:resize_to_fit=>[150,150]再次调整大小,我希望它保持原状!:resize_to_limit=>[150,150]这个保持原样,但没有裁剪较

ruby /Sinatra/erb : 404 for loading image

我尝试显示图像,但日志中的响应代码为404:0:0:0:0:0:0:0:1--[02/Nov/201311:23:55]"GET/public/images/gtk_refresh.pngHTTP/1.1"4044660.00300:0:0:0:0:0:0:1--[02/Nov/2013:11:23:55MEZ]"GET/public/images/gtk_refresh.pngHTTP/1.1"404466http://localhost:4567/main->/public/images/gtk_refresh.pngrb文件:get'/main'doerb:mainenderb文

ruby - 从 Magick::Image 创建一个 ruby​​ File 对象

我正在尝试使用rmagick和rest-client将带水印的图像发布到url。当我生成合成图像时,我将其保存(.write),使用File.new将其读回,然后发布该File对象。不过,理想情况下,我想绕过写入操作,因为我再也不需要这张照片了。有什么方法可以将Magick::Image对象转换为File对象,以便我可以使用rest-client发布它?require'rmagick'require'rest-client'photo=Magick::Image.read('myphoto.jpg').firstwater_mark=Magick::Image.read('waterm

c++ 将 find() 映射到可能的 insert() : how to optimize operations?

我正在使用STLmap数据结构,此时我的代码首先调用find():如果该键以前不在map中,它会调用insert()它,否则它什么也不做。map::iteratorit;it=my_map.find(foo_obj);//1stlookupif(it==my_map.end()){my_map[foo_obj]="somevalue";//2ndlookup}else{//okdonothing.}我想知道是否有比这更好的方法,因为据我所知,在这种情况下,当我想插入一个还不存在的键时,我会在map数据结构中执行2次查找:一次对于find(),insert()中的一个(对应于operat

c++ 将 find() 映射到可能的 insert() : how to optimize operations?

我正在使用STLmap数据结构,此时我的代码首先调用find():如果该键以前不在map中,它会调用insert()它,否则它什么也不做。map::iteratorit;it=my_map.find(foo_obj);//1stlookupif(it==my_map.end()){my_map[foo_obj]="somevalue";//2ndlookup}else{//okdonothing.}我想知道是否有比这更好的方法,因为据我所知,在这种情况下,当我想插入一个还不存在的键时,我会在map数据结构中执行2次查找:一次对于find(),insert()中的一个(对应于operat