Tag: graphics

我如何在iPhone上画一条线?

我是iPhone编程的初学者,想用Quartz和UIKit来研究电话屏幕。 我如何开始绘画?

PorterDuff.Mode在Androidgraphics中意味着什么?它有什么作用?

我想知道什么PorterDuff.Mode意味着在Androidgraphics。 我知道这是一个转移模式 。 我也知道,它有属性,如DST_IN,Multiply等

如何缩小UIImage,使其变得脆弱/锐利,而不是模糊?

我需要缩小一幅图像,但要锐利。 在Photoshop中,例如,图像尺寸缩小选项“Bicubic Smoother”(模糊)和“Bicubic Sharper”。 这个图像缩小algorithm是开源还是在某个地方logging,或者SDK是否提供了这样的方法?

无向图中的循环

给定一个有n个顶点(| V | = n )的无向图G =( V , E ),你如何find它是否包含O ( n )中的一个循环?

调整高宽比UIImage?

我使用这段代码来调整iPhone上的图像大小: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:kCGBlendModePlusDarker alpha:1]; UIImage *tmpValue = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); 只要图像的宽高比与新resize的图像的高宽比相匹配,哪个效果很好。 我想修改这个,以保持正确的长宽比,只是在图像没有出现的地方放一个黑色的背景。 所以我仍然会得到一个320×480的图像,但在顶部和底部或侧面有黑色,这取决于原始图像的大小。 有没有一种简单的方法来做到这一点类似于我在做什么? 谢谢!

使用Quartz获取iOS上的PDF超链接

我花了整整一天的时间尝试在我的iPad应用程序中从PDF获取超链接元数据。 CGPDF * API是一个真正的噩梦,我在网上发现的唯一信息就是我必须查找一个“Annots”字典,但是我无法在我的PDF中find它。 我什至使用旧的偷窥Xcode示例来检查我的testingPDF文件,但没有这个“Annots”字典的痕迹… 你知道,这是我在每个PDF阅读器上看到的一个function – 同样的问题在这里被多次 询问 ,没有真正的实际答案。 我通常不会直接要求示例代码,但显然这次我真的需要它…任何人得到这个工作,可能与示例代码? 更新 :我刚刚意识到那个做我的testing的人PDF只是插入了一个URL作为文本,而不是一个真正的注释。 他试着把注释和我的代码现在工作…但这不是我所需要的,所以我似乎必须分析文本和searchURL。 但是这是另一个故事 更新2 :所以我终于想出了一些工作代码。 我在这里张贴,所以希望它会帮助别人。 它假定PDF文档实际上包含注释。 for(int i=0; i<pageCount; i++) { CGPDFPageRef page = CGPDFDocumentGetPage(doc, i+1); CGPDFDictionaryRef pageDictionary = CGPDFPageGetDictionary(page); CGPDFArrayRef outputArray; if(!CGPDFDictionaryGetArray(pageDictionary, "Annots", &outputArray)) { return; } int arrayCount = CGPDFArrayGetCount( outputArray ); if(!arrayCount) { continue; } for( int j = […]

正常的映射消失了可怕的错误

我试图在我的opengl应用程序中实现正常的映射,但我无法得到它的工作。 这是漫reflection地图(我添加了一个棕色), 这是正常的地图。 为了得到切线和苦行(在其他地方叫binormals?)向量,我运行这个函数为我的网格中的每个三angular形: void getTangent(const glm::vec3 &v0, const glm::vec3 &v1, const glm::vec3 &v2, const glm::vec2 &uv0, const glm::vec2 &uv1, const glm::vec2 &uv2, std::vector<glm::vec3> &vTangents, std::vector<glm::vec3> &vBiangents) { // Edges of the triangle : postion delta glm::vec3 deltaPos1 = v1-v0; glm::vec3 deltaPos2 = v2-v0; // UV delta glm::vec2 deltaUV1 = uv1-uv0; glm::vec2 deltaUV2 = uv2-uv0; […]

dynamicgraphics对象绘画

试图找出最好的方法来做到这一点(并没有跨越任何细节,不,我不知道)。 我正在用圆圈和线条来直观地显示一个graphics(各种节点,用边连接它们)来表示。 每个节点将在运行时添加,我不能硬编码。 据我所知,所有的绘画都需要在paint(Graphics g)方法中完成 – 这不是很有帮助,因为我不能改变参数,而且这只是在初始创build时才调用的。 现在我正考虑让它调用各种其他方法,传递Graphics对象,并根据其他variables – 我将决定是否我甚至想调用它(因为paint()方法是我可以调用的唯一方法)。 我是否完全错误? 以前从来没有打扰过这个。 为了给你一个更好的想法:我希望能够传递我想为节点添加的形状的坐标,然后把它添加到我到目前为止的任何graphics上。 然后与边缘相同,我希望能够通过该行的开始和结束点重新绘制在当时存在的任何之上。 不完全是我现在想要的 – 但你会从我补丁到目前为止的想法: import java.awt.*; import javax.swing.*; public class MyCanvas extends Canvas { public MyCanvas() { } public void paint(Graphics graphics) { // Keep this until I figured out if it's painted on load or not. graphics.drawLine(10, 20, 350, 380); } […]

用SVG的圆弧path绘制圆图

下面的SVGpath可以画出99.99%的圆:(在http://jsfiddle.net/DFhUF/46/上试一下,看看你是否看到4个弧或者只有2个,但是请注意,如果它是IE,就会呈现在VML中,不是SVG,但有类似的问题) M 100 100 a 50 50 0 1 0 0.00001 0 但是当它是99.99999999%的一个圆时,什么都不会显示出来? M 100 800 a 50 50 0 1 0 0.00000001 0 这与100%的圆相同(它仍然是一个圆弧,是不是,只是一个非常完整的圆弧) M 100 800 a 50 50 0 1 0 0 0 这怎么解决? 原因是我用一个函数来绘制一个弧的百分比,如果我需要用“特殊情况”一个99.9999%或100%的弧来使用这个圆的函数,那就太傻了。 同样,使用RaphaelJS的jsfiddle的testing用例在http://jsfiddle.net/DFhUF/46/ (如果是IE 8上的VML,即使是第二个圆也不会显示…您必须将其更改为0.01) 更新: 这是因为我在我们的系统中渲染了一个分数的弧,所以3.3分得到1/3的一个圆。 0.5圈半圈,9.9圈圈达到99%。 但是如果我们的系统中有9.99的分数呢? 我是否要检查它是否接近圆的99.999%,并相应地使用arc函数或circle函数? 那么9.9987的分数呢? 哪一个使用? 想要知道什么样的分数会映射到一个“太圆的圆圈”并切换到一个圆圈函数,当它是一个圆的“99.9%”或9.9987的分数时,那么使用弧函数是荒谬的。

如何使用RescaleOp设置图像的大小

我正在写一个testing应用程序。 为图像设置Alpha我使用paintComponent方法。 观看下一个片段… public class TestImage extends JLabel{ public void paintComponent( Graphics g ) { super.paintComponent( g ); Graphics2D g2d=(Graphics2D)g; g2d.drawImage(this.bImage, rop, 0, 0); } public void setRescaleOp(RescaleOp rop){this.rop=rop;} } 如你看到的, g2d.drawImage(this.bImage,rop,0,0); 不允许设置宽度和高度,就像我使用g.drawImage(bImage,0,0,width,height,null); 所以问题是…在这种情况下如何设置bImage的宽度和高度? 任何有用的评论表示赞赏 安德鲁