// API callback
related_results_labels_thumbs({"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$blogger":"http://schemas.google.com/blogger/2008","xmlns$georss":"http://www.georss.org/georss","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$thr":"http://purl.org/syndication/thread/1.0","id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869"},"updated":{"$t":"2024-01-11T15:29:32.448-08:00"},"category":[{"term":"Linux Distributions"},{"term":"Linux Live Cd"},{"term":"Graphic Tools"},{"term":"Ubuntu"},{"term":"Multimedia"},{"term":"Software Packages"},{"term":"Audio"},{"term":"Guides and Tutorials"},{"term":"Repository"},{"term":"System"},{"term":"Ubuntu Derivatives"},{"term":"Debian"},{"term":"Utility"},{"term":"Science"},{"term":"Security"},{"term":"Video"},{"term":"Databases"},{"term":"Fedora"},{"term":"BSD (Berkeley Software Distribution)"},{"term":"Education"},{"term":"Games"},{"term":"Servers"},{"term":"Desktop Environment"},{"term":"Math"},{"term":"Arch Linux"},{"term":"Backup"},{"term":"Music"},{"term":"Web Browsers"},{"term":"CentOS"},{"term":"Accessible Applications"},{"term":"Apps"},{"term":"KDE"},{"term":"Advertising and Marketing"},{"term":"Slackware"},{"term":"Android"},{"term":"Infographics"},{"term":"Programming Software"},{"term":"Apple"},{"term":"Cd-Dvd Burning"},{"term":"Gentoo"},{"term":"Office"},{"term":"Red Hat"},{"term":"Window Manager"},{"term":"File Manager"},{"term":"Zorin"},{"term":"Compiz Fusion"},{"term":"Computational biology"},{"term":"Data storage"},{"term":"X Window System"},{"term":"Blogger"},{"term":"Chat"},{"term":"Google"},{"term":"Mandriva"},{"term":"Programming Language"},{"term":"Statistical Software"},{"term":"Web Tools"},{"term":"Scientific Distributions"},{"term":"Tutorials"},{"term":"Xubuntu"},{"term":"Burning"},{"term":"Docks Manager"},{"term":"Ham Radio"},{"term":"Miscellaneous"},{"term":"Web Resources"},{"term":"Weblog Applications"},{"term":"Library"},{"term":"Manjaro"},{"term":"Mobile"},{"term":"Mozilla"},{"term":"Mozilla Thunderbird"},{"term":"Others System Operating"},{"term":"Statistics"},{"term":"Text Editors"},{"term":"Xfce"},{"term":"Gnome"},{"term":"Mail Client"},{"term":"Mozilla Firefox"},{"term":"Puppy Linux"},{"term":"Editors Blog"},{"term":"FTP"},{"term":"Linux Mint"},{"term":"News Aggregator"},{"term":"OpenSUSE"},{"term":"Windows"},{"term":"Kernel"},{"term":"Social Bookmarks"},{"term":"Knoppix"},{"term":"Kubuntu"},{"term":"P2P"},{"term":"Unity"},{"term":"Unix"},{"term":"eSpeak"},{"term":"Development Release"},{"term":"Maps"},{"term":"Netbook"},{"term":"Networking"},{"term":"To-Do List Manager"},{"term":"Web Search Engine"},{"term":"Window System"},{"term":"Digital Marketing"},{"term":"Hardware"},{"term":"Linus Torvalds"},{"term":"Mac"},{"term":"Manuals and Tutorials"},{"term":"Medical Research Labs"},{"term":"Mepis"},{"term":"Newsreaders"},{"term":"Operating System"},{"term":"PCLinuxOS"},{"term":"Solaris"},{"term":"Version Control System"},{"term":"GPS"},{"term":"Internet Tools"},{"term":"LXDE"},{"term":"Mageia"},{"term":"Mozilla Addons"},{"term":"Mozilla SeaMonkey"},{"term":"News"},{"term":"Routing"},{"term":"Technology"},{"term":"Updates"},{"term":"Virtualization"},{"term":"Internet Cafès"},{"term":"Linux From Scratch"},{"term":"MATE"},{"term":"Medical software"},{"term":"Microsoft"},{"term":"Package Manager"},{"term":"Social Networks"},{"term":"Tablets"}],"title":{"type":"text","$t":"Linuxlandit \u0026amp; The Conqueror Penguin"},"subtitle":{"type":"html","$t":"The free world is the new continent in cyberspace that we have built so we can live here in freedom. It's impossible to live in freedom in the old world of cyberspace, where every program has its feudal lord that bullies and mistreats the users. So, to live in freedom we have to build a new continent. Because this is a virtual continent, it has room for everyone, and there are no immigration restrictions. - Richard Stallman -"},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/-\/Graphic+Tools?alt=json-in-script\u0026max-results=12"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/search\/label\/Graphic%20Tools"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"},{"rel":"next","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/-\/Graphic+Tools\/-\/Graphic+Tools?alt=json-in-script\u0026start-index=13\u0026max-results=12"}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"generator":{"version":"7.00","uri":"http://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"113"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"12"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-1068802371884628510"},"published":{"$t":"2019-08-01T09:52:00.001-07:00"},"updated":{"$t":"2019-08-03T14:22:14.568-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Statistics"}],"title":{"type":"text","$t":"Digital marketing strategy with Stat Counter: Choose the Right Digital Marketing Channels"},"content":{"type":"html","$t":"Choosing the right mix of marketing channels for your photography business is highly individual and will differ depending on your type of business, where your potential customers hang out, your budget and the amount of time you can put into it.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nHere we’ll take a look at the four main channel groups and some examples within each.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nWriting an informative and helpful article on how to dress children for a portrait session, including example photos from your previous sessions would be a great way to attract leads via organic search.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\n\u003Ctable align=\"center\" cellpadding=\"0\" cellspacing=\"0\" class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\"\u003E\u003Ctbody\u003E\n\u003Ctr\u003E\u003Ctd style=\"text-align: center;\"\u003E\u003Ca href=\"https:\/\/1.bp.blogspot.com\/-LS-CDfpqfWM\/XUX6xjC-n-I\/AAAAAAAAI84\/OliongR2OEQ99L7FNPdKm6jBudckUe7ygCLcBGAs\/s1600\/statcounter-digital.png\" imageanchor=\"1\" style=\"margin-left: auto; margin-right: auto;\"\u003E\u003Cimg border=\"0\" data-original-height=\"640\" data-original-width=\"638\" height=\"640\" src=\"https:\/\/1.bp.blogspot.com\/-LS-CDfpqfWM\/XUX6xjC-n-I\/AAAAAAAAI84\/OliongR2OEQ99L7FNPdKm6jBudckUe7ygCLcBGAs\/s640\/statcounter-digital.png\" width=\"638\" \/\u003E\u003C\/a\u003E\u003C\/td\u003E\u003C\/tr\u003E\n\u003Ctr\u003E\u003Ctd class=\"tr-caption\" style=\"text-align: center;\"\u003E\u0026nbsp;Choose the Right Digital Marketing Channels.\u003C\/td\u003E\u003C\/tr\u003E\n\u003C\/tbody\u003E\u003C\/table\u003E\u003Cdiv class=\"separator\" style=\"clear: both; text-align: center;\"\u003E\u003C\/div\u003E\u003Cdiv class=\"mbtTOC2\"\u003E\u003Cbutton\u003EContents; [\u003Ca href=\"https:\/\/www.blogger.com\/null\" id=\"Tog\" onclick=\"mbtToggle2()\"\u003Ehide\u003C\/a\u003E]\u003C\/button\u003E \u003Cbr \/\u003E\n\u003Cdiv id=\"mbtTOC2\"\u003E\u003C\/div\u003E\u003C\/div\u003E\u003Ch3\u003EChoose the Right Digital Marketing Channels.\u003C\/h3\u003E\u003Cdiv\u003E\u003Cspan style=\"font-weight: 400;\"\u003EThe content you create to attract leads should be aligned with the interests of your niche market but doesn’t have to be directly about your business, products or services.\u0026nbsp;\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cspan style=\"font-weight: 400;\"\u003E\u003Cbr \/\u003E\n\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cspan style=\"font-weight: 400;\"\u003EPeople in need of a photographer have other related problems they are trying to solve imultaneously.\u0026nbsp;\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cspan style=\"font-weight: 400;\"\u003E\u003Cbr \/\u003E\n\u003C\/span\u003E\u003C\/div\u003E\u003Cdiv\u003E\u003Cspan style=\"font-weight: 400;\"\u003EThis is a core concept in content marketing.\u003C\/span\u003E\u003C\/div\u003E\u003Ch4\u003EOwned Media.\u003C\/h4\u003EOwned Media refers to any media channel that is owned by you where the content is under your control. Examples of owned media include:\u003Cbr \/\u003E\n\u003Cul\u003E\u003Cli\u003EYour Website and Landing pages\u003C\/li\u003E\n\u003Cli\u003EYour Blog\u003C\/li\u003E\n\u003Cli\u003EYour Email List\u003C\/li\u003E\n\u003C\/ul\u003ESocial platforms like Instagram, Facebook and Medium have made publishing content almost effortless, however it is getting increasingly difficult to get seen organically on these platforms and you are at the whim of their algorithms and editorial guidelines.\u003Cbr \/\u003E\n\u003Cscript async=\"\" src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"\u003E\u003C\/script\u003E\u003Cbr \/\u003E\n\u003Cins class=\"adsbygoogle\" data-ad-client=\"ca-pub-6536335343900966\" data-ad-format=\"fluid\" data-ad-layout=\"in-article\" data-ad-slot=\"2680985035\" style=\"display: block; text-align: center;\"\u003E\u003C\/ins\u003E\u003Cbr \/\u003E\n\u003Cscript\u003E\n     (adsbygoogle = window.adsbygoogle || []).push({});\n\u003C\/script\u003E\u003Cbr \/\u003E\nWe strongly recommend having your own website, blog and email list that you control and supplementing these with shared media.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nFor example, if you publish a blog, republish those blog posts on Medium. Maintain your own website portfolio and also post to Instagram. This diversification means you always own and control your content but also benefit from the network effects of shared media.\u003Cbr \/\u003E\n\u003Ch4\u003EShared Media.\u003C\/h4\u003EShared Media refers to social media channels such as:\u003Cbr \/\u003E\n\u003Cul\u003E\u003Cli\u003EInstagram\u003C\/li\u003E\n\u003Cli\u003EPinterest\u003C\/li\u003E\n\u003Cli\u003EFacebook\u003C\/li\u003E\n\u003Cli\u003ELinkedIn\u003C\/li\u003E\n\u003Cli\u003EMedium\u003C\/li\u003E\n\u003C\/ul\u003ESharing on social media platforms can be a time sink so it’s important to focus on where your target audience hang out and choose a few relevant platforms instead of trying to be everywhere at once. If you’re a commercial photographer, LinkedIn can be a useful resource for connecting with businesses. Instagram, Pinterest and Facebook can be fertile grounds for wedding and portrait photographers.\u003Cbr \/\u003E\n\u003Ch4\u003EEarned Media.\u003C\/h4\u003EEarned media is the most trusted form of advertising. Think of it as word-of-mouth in digital form. It’s what other people say about you and it inspires confidence in shoppers more than any other type of media. Earned media includes:\u003Cbr \/\u003E\n\u003Cul\u003E\u003Cli\u003ERatings and review sites (e.g. Yelp, Google Reviews)\u003C\/li\u003E\n\u003Cli\u003ECase Studies and Testimonials\u003C\/li\u003E\n\u003Cli\u003EMentions and reviews on 3rd party blogs\u003C\/li\u003E\n\u003Cli\u003EPress Mentions\u003C\/li\u003E\n\u003Cli\u003ESocial Reposts and Mentions\u003C\/li\u003E\n\u003C\/ul\u003EWhen a customer compliments you on the work you did, ask if they would mind writing a review on Google Reviews or Yelp or ask if they’d answer some questions for a case study.\u003Cbr \/\u003E\n\u003Ch4\u003EPaid Media.\u003C\/h4\u003EPaid media refers to the various advertising channels available to promote your content at a cost. These include:\u003Cbr \/\u003E\n\u003Cul\u003E\u003Cli\u003EDisplay \/ Banner Ads\u003C\/li\u003E\n\u003Cli\u003ESearch Ads (e.g. Google Ads, Bing Ads)\u003C\/li\u003E\n\u003Cli\u003ESocial Ads (e.g. Instagram Ads, Facebook Ads)\u003C\/li\u003E\n\u003C\/ul\u003EAds on Facebook and Instagram perform well for photography businesses. Both of these networks are getting increasingly more difficult to rank on organically so more and more businesses are paying for ads to promote their content.\u003Cbr \/\u003E\n\u003Cblockquote\u003ERead also: \u003Ca href=\"https:\/\/linuxlandit.blogspot.com\/2019\/07\/digital-marketing-strategy-for.html\"\u003EDigital marketing strategy for photographers with StatCounter: the Buying Cycle.\u003C\/a\u003E\u003C\/blockquote\u003EGetting a return on your investment for paid media involves choosing the right channels,\u0026nbsp; targeting the right audience, using a powerful image or video, and linking the ad to a landing page on your website.\u003Cbr \/\u003E\n\u003Ch4\u003EPublish Valuable, Relevant, and Consistent Content.\u003C\/h4\u003E\"Best way to sell something — don’t sell anything. Earn the awareness, respect \u0026amp; trust of those who might buy.\"Rand Fishkin\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nTraditional methods of pushing products and services at people have become less effective over time.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nThe emergence of websites, portfolios, blogs, social media, ecommerce stores and ratings and review sites has put more power in the hands of the customer and turned shoppers into researchers, reviewers, and conversationalists, looking for recommendations, advice, and interaction on a global scale.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nContent is the center of the digital marketing world. Creating valuable, relevant and consistent content that resonates with your niche market and doesn’t feel like a sales pitch is how to earn the awareness, respect and trust of your target audience.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nThe content you create to attract leads should be aligned with the interests of your niche market but doesn’t have to be directly about your business, products or services.\u0026nbsp; People in need of a photographer have other related problems they are trying to solve simultaneously. This is a core concept in content marketing.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nIn our earlier example of a parent looking for a children’s photographer, we highlighted a few problems parents are trying to solve that are related to the photo session. One that is likely to get a lot of searches is around the topic of\u0026nbsp; how to dress children for a photo shoot.\u003Cbr \/\u003E\n\u003Cscript async=\"\" src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"\u003E\u003C\/script\u003E\u003Cbr \/\u003E\n\u003Cins class=\"adsbygoogle\" data-ad-client=\"ca-pub-6536335343900966\" data-ad-format=\"fluid\" data-ad-layout=\"in-article\" data-ad-slot=\"2680985035\" style=\"display: block; text-align: center;\"\u003E\u003C\/ins\u003E\u003Cbr \/\u003E\n\u003Cscript\u003E\n     (adsbygoogle = window.adsbygoogle || []).push({});\n\u003C\/script\u003E\u003Cbr \/\u003E\nWriting an informative and helpful article on how to dress children for a portrait session, including example photos from your previous sessions would be a great way to attract leads via organic search.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nThis can work for all types of photography. A wedding photographer might choose to write about wedding venue options in the local area or how to make the big day go smoothly.\u003Cbr \/\u003E\n\u003Cbr \/\u003E\nConsultative, advisory selling is the most cost-effective, the most enduring, the most impactful and the most powerful marketing strategy a business owner could ever devise.\u003Cbr \/\u003E\n\u003Cscript\u003EmbtTOC2();\u003C\/script\u003E"},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/1068802371884628510\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2019\/08\/choose-right-digital-marketing-channels.html#comment-form","title":"2 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/1068802371884628510"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/1068802371884628510"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2019\/08\/choose-right-digital-marketing-channels.html","title":"Digital marketing strategy with Stat Counter: Choose the Right Digital Marketing Channels"}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-LS-CDfpqfWM\/XUX6xjC-n-I\/AAAAAAAAI84\/OliongR2OEQ99L7FNPdKm6jBudckUe7ygCLcBGAs\/s72-c\/statcounter-digital.png","height":"72","width":"72"},"thr$total":{"$t":"2"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-7685524103364693745"},"published":{"$t":"2015-11-15T13:22:00.001-08:00"},"updated":{"$t":"2015-11-15T13:22:10.838-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"}],"title":{"type":"text","$t":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Color."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EAnimations and visual effects are nowadays used to enhance nearly every form of multimedia\u003C\/strong\u003E, including video games. These are created by combining multiple images and effects, with an abundance of applications at your disposal. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/www.aseprite.org\/\"\u003EAseprite\u003C\/a\u003E\u003C\/strong\u003E is one of them and offers a different approach on image editing and creating short animations.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EIntuitive design makes it easy to use.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EIf you're nostalgic about the past era of pixel graphics and effects, you might just find this to be a suitable environment. \u003C\/p\u003E  \u003Cp\u003EThis is not only because of the application's aim to create such sprites, but the interface is fully designed this way as well. Although you get the impression of an old video game, with icons and tools being a little difficult to identify, accommodation is no problem at all.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EClever file support and drawing tools.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThe result is either an enhanced picture or short animation to use in your project, but until you get there some effort needs to be invested. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/-JnYMRC2DIlk\/Vkj3fE1GHDI\/AAAAAAAAIcE\/Bp-aSkFx-bY\/s1600-h\/aseprite-chess%25255B4%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"aseprite-chess\" border=\"0\" alt=\"aseprite-chess\" src=\"http:\/\/lh3.googleusercontent.com\/-i_Ae0bqFUV4\/Vkj3gW0Jn3I\/AAAAAAAAIcM\/VAgjP5LL19I\/aseprite-chess_thumb%25255B2%25255D.png?imgmax=800\" width=\"640\" height=\"341\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EColor.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EAseprite supports three different kind of color modes:\u003C\/p\u003E  \u003Cul\u003E   \u003Cli\u003ERGB \u003C\/li\u003E    \u003Cli\u003EIndexed \u003C\/li\u003E    \u003Cli\u003EGrayscale \u003C\/li\u003E \u003C\/ul\u003E  \u003Cp\u003EWhen you create a new sprite you have to choose one of these color modes. In this section you will see the details of each one.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ERGB.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003ERGB, or RGBA, stands for Red-Green-Blue-Alpha. Each image pixel contains these four components. It means that a pixel is completelly indepedent from others.\u003C\/p\u003E  \u003Cp\u003EThe alpha component specifies how much opaque the color is: \u003Ccode\u003EAlpha = 255\u003C\/code\u003E means completely opaque, and \u003Ccode\u003EAlpha = 0\u003C\/code\u003E completely transparent.\u003C\/p\u003E  \u003Cp\u003ESpecial note: Background layer doesn't have an alpha component, so it will be always opaque.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EIndexed.\u003C\/strong\u003E \u003C\/p\u003E  \u003Cp\u003EIn this mode each pixels is a number that references a palette color. Your palette can contain up to 256 colors, and each pixel points to one of those colors (from 0 to 255).\u003C\/p\u003E  \u003Cp\u003EUnlike RGBA, if you modify the palette color, all pixels that are referencing that color will change their appearance.\u003C\/p\u003E  \u003Cp\u003EAn important concept on Indexed images is that for transparent layers, we need a special index to act as the transparent color. Generally this index is 0, but you can change it from \u003Cem\u003ESprite \u0026gt; Properties\u003C\/em\u003E menu.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EGrayscale.\u003C\/strong\u003E \u003C\/p\u003E  \u003Cp\u003EIt's more like RGBA, just that you have two channels: Value and Alpha. Here 0 means black and 255 is white. The alpha channel behaves exactly like in RGBA mode.\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/7685524103364693745\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to_5.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/7685524103364693745"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/7685524103364693745"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to_5.html","title":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Color."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh3.googleusercontent.com\/-i_Ae0bqFUV4\/Vkj3gW0Jn3I\/AAAAAAAAIcM\/VAgjP5LL19I\/s72-c\/aseprite-chess_thumb%25255B2%25255D.png?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-6343489197347366536"},"published":{"$t":"2015-11-15T13:18:00.001-08:00"},"updated":{"$t":"2015-11-15T13:18:43.795-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"}],"title":{"type":"text","$t":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Sprite structure."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EAnimations and visual effects are nowadays used to enhance nearly every form of multimedia\u003C\/strong\u003E, including video games. These are created by combining multiple images and effects, with an abundance of applications at your disposal. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/www.aseprite.org\/\"\u003EAseprite\u003C\/a\u003E\u003C\/strong\u003E is one of them and offers a different approach on image editing and creating short animations.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EIntuitive design makes it easy to use.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EIf you're nostalgic about the past era of pixel graphics and effects, you might just find this to be a suitable environment. \u003C\/p\u003E  \u003Cp\u003EThis is not only because of the application's aim to create such sprites, but the interface is fully designed this way as well. Although you get the impression of an old video game, with icons and tools being a little difficult to identify, accommodation is no problem at all.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EClever file support and drawing tools.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThe result is either an enhanced picture or short animation to use in your project, but until you get there some effort needs to be invested. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/-JZeRZrXBc7k\/Vkj2qifdPmI\/AAAAAAAAIb0\/VhdYaxfjxcw\/s1600-h\/aseprite1%25255B4%25255D.jpg\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"aseprite1\" border=\"0\" alt=\"aseprite1\" src=\"http:\/\/lh3.googleusercontent.com\/-K_qdsesCuC0\/Vkj2sLy6MfI\/AAAAAAAAIb8\/1JdCdxZmOlg\/aseprite1_thumb%25255B2%25255D.jpg?imgmax=800\" width=\"640\" height=\"339\" \/\u003E\u003C\/a\u003E\u003Cstrong\u003E\u003Ca name='more'\u003E\u003C\/a\u003E\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ESprite structure.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EIn Aseprite a document\/file\/sprite has the following properties:\u003C\/p\u003E  \u003Col\u003E   \u003Cli\u003EIt has a size in pixels (width and height). \u003C\/li\u003E    \u003Cli\u003EIt has a color mode, which tell you how many colors the image can handle. All images in the sprite are in one specific mode, you cannot mix RGB images with Indexed images in the same sprite. \u003C\/li\u003E    \u003Cli\u003EIt contains a set of layers. You can see them in the Timeline. The most important concept here is that there are two kind of layers: the background layer for opaque sprites, and transparen layers. A sprite can contain only one background layer, but several transparent layers. \u003C\/li\u003E    \u003Cli\u003EIt contains animation frames. Each frame has a duration, i.e. how many milliseconds the frame must be on screen when the animation is being played. \u003C\/li\u003E    \u003Cli\u003EEach layer\/frame intersection is called cel, and contains the image where you finally can paint. \u003C\/li\u003E \u003C\/ol\u003E  \u003Cp\u003EThe \u003Cstrong\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com.ar\/2015\/11\/aseprite-is-open-source-program-to.html\" target=\"_blank\"\u003Etimeline show\u003C\/a\u003E\u003C\/strong\u003E you the whole structure of the sprite like a grid. Rows are layers and columns are frames, each little cell of the matrix is a cel:\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Cels Matrix\" src=\"http:\/\/www.aseprite.org\/docs\/sprite\/sprite-components.png\" \/\u003E\u003Cstrong\u003ESprite Size.\u003C\/strong\u003E \u003C\/p\u003E  \u003Cp\u003EThe sprite size is specified when you create a new sprite from \u003Cem\u003EFile \u0026gt; New\u003C\/em\u003E menu. But you can change it in several ways. You can change:\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ECanvas Size.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cul\u003E   \u003Cp\u003EThe canvas is the visible area of the sprite. You can change the canvas size using \u003Cem\u003ESprite \u0026gt; Canvas Size...\u003C\/em\u003E menu.\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Canvas Preview\" src=\"http:\/\/www.aseprite.org\/docs\/canvas\/canvas.gif\" \/\u003E\u003C\/p\u003E    \u003Cp\u003EIn this window you can change the \u003Ccode\u003EWidth\u003C\/code\u003E or \u003Ccode\u003EHeight\u003C\/code\u003E manually, or using the blue rules in the editor window.\u003C\/p\u003E    \u003Cp\u003E\u003Cstrong\u003ECrop.\u003C\/strong\u003E \u003C\/p\u003E    \u003Cp\u003EYou can change the canvas size using the current selection bounds:\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Crop Preview\" src=\"http:\/\/www.aseprite.org\/docs\/canvas\/crop.gif\" \/\u003E\u003Cstrong\u003ETrim.\u003C\/strong\u003E\u003C\/p\u003E    \u003Cp\u003EYou can remove transparent borders from canvas automatically using the \u003Cem\u003ESprite \u0026gt; Trim\u003C\/em\u003E menu.\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Trim Preview\" src=\"http:\/\/www.aseprite.org\/docs\/canvas\/trim.gif\" \/\u003E\u003C\/p\u003E    \u003Cp\u003E\u003Cstrong\u003EResize.\u003C\/strong\u003E\u003C\/p\u003E    \u003Cp\u003EYou can resize your sprite using \u003Cem\u003EEdit \u0026gt; Sprite Size\u003C\/em\u003E menu option.\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Resize\" src=\"http:\/\/www.aseprite.org\/docs\/resize\/resize.gif\" width=\"614\" height=\"439\" \/\u003E\u003C\/p\u003E \u003C\/ul\u003E  \u003Cp\u003EAlso you can use the Command Line Interface for the same purpose.\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/6343489197347366536\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to_88.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/6343489197347366536"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/6343489197347366536"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to_88.html","title":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Sprite structure."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh3.googleusercontent.com\/-K_qdsesCuC0\/Vkj2sLy6MfI\/AAAAAAAAIb8\/1JdCdxZmOlg\/s72-c\/aseprite1_thumb%25255B2%25255D.jpg?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-7006879893441567811"},"published":{"$t":"2015-11-15T13:11:00.001-08:00"},"updated":{"$t":"2015-11-15T13:24:53.461-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"}],"title":{"type":"text","$t":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Context Bar."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EAnimations and visual effects are nowadays used to enhance nearly every form of multimedia\u003C\/strong\u003E, including video games. These are created by combining multiple images and effects, with an abundance of applications at your disposal. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/www.aseprite.org\/\"\u003EAseprite\u003C\/a\u003E\u003C\/strong\u003E is one of them and offers a different approach on image editing and creating short animations.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EIntuitive design makes it easy to use.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EIf you're nostalgic about the past era of pixel graphics and effects, you might just find this to be a suitable environment. \u003C\/p\u003E  \u003Cp\u003EThis is not only because of the application's aim to create such sprites, but the interface is fully designed this way as well. Although you get the impression of an old video game, with icons and tools being a little difficult to identify, accommodation is no problem at all.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EClever file support and drawing tools.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThe result is either an enhanced picture or short animation to use in your project, but until you get there some effort needs to be invested. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/-U4UT8peKyXk\/Vkj03orSNtI\/AAAAAAAAIbg\/yyo8e9tu-xI\/s1600-h\/aseprite%25255B1%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"aseprite\" border=\"0\" alt=\"aseprite\" src=\"http:\/\/lh3.googleusercontent.com\/-JrHuvowmTJQ\/Vkj05EMWImI\/AAAAAAAAIbo\/LwIO8r0rTrA\/aseprite_thumb.png?imgmax=800\" width=\"640\" height=\"400\" \/\u003E\u003C\/a\u003E\u003Cstrong\u003E\u003Ca name='more'\u003E\u003C\/a\u003E\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EContext Bar.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E(\u003Cem\u003EWork-in-progress\u003C\/em\u003E) \u003C\/p\u003E  \u003Cp\u003EThe context bar shows specific options for the active tool. Also it changes depending on the state of the active document. E.g. when we move the selection. \u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Context bar\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/contextbar.png\" \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EPencil-like tools.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThis is the context bar for the Pencil tool: \u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Context bar for pencil tool\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/pencil.png\" \/\u003E \u003C\/p\u003E  \u003Cp\u003EThe first elements are Brush type\/shape: \u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Brush type\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/brushtype.png\" \/\u003E \u003C\/p\u003E  \u003Cp\u003EThe brush size (in pixels): \u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Brush size\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/brushsize.png\" \/\u003E \u003C\/p\u003E  \u003Cp\u003EAnd the brush angle: \u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Brush angle\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/brushangle.png\" \/\u003E \u003C\/p\u003E  \u003Cp\u003EIt's useful for line brush type: \u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Selet brush angle\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/brushangle-change.gif\" \/\u003E\u0026#160;\u003Cstrong\u003ESelection tools.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Selection tool\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/selection.png\" \/\u003E\u003Cstrong\u003E Moving selection.\u003C\/strong\u003E \u003C\/p\u003E  \u003Cp\u003E(\u003Cem\u003EWork-in-progress\u003C\/em\u003E) \u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Moving selection\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/selection.png\" \/\u003E\u0026#160;\u003Cstrong\u003EEyedropper. \u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E(\u003Cem\u003EWork-in-progress\u003C\/em\u003E) \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EPaint Bucket tool.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E(\u003Cem\u003EWork-in-progress\u003C\/em\u003E) \u003C\/p\u003E  \u003Cp\u003E\u003Cimg alt=\"Paint bucket\" src=\"http:\/\/www.aseprite.org\/docs\/context-bar\/paintbucket.png\" \/\u003E \u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/7006879893441567811\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to_15.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/7006879893441567811"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/7006879893441567811"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to_15.html","title":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Context Bar."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh3.googleusercontent.com\/-JrHuvowmTJQ\/Vkj05EMWImI\/AAAAAAAAIbo\/LwIO8r0rTrA\/s72-c\/aseprite_thumb.png?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-9202940967513323759"},"published":{"$t":"2015-11-15T13:01:00.001-08:00"},"updated":{"$t":"2015-11-15T13:03:09.060-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"}],"title":{"type":"text","$t":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Timeline."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EAnimations and visual effects are nowadays used to enhance nearly every form of multimedia\u003C\/strong\u003E, including video games. These are created by combining multiple images and effects, with an abundance of applications at your disposal. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/www.aseprite.org\/\"\u003EAseprite\u003C\/a\u003E\u003C\/strong\u003E is one of them and offers a different approach on image editing and creating short animations.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EIntuitive design makes it easy to use.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EIf you're nostalgic about the past era of pixel graphics and effects, you might just find this to be a suitable environment. \u003C\/p\u003E  \u003Cp\u003EThis is not only because of the application's aim to create such sprites, but the interface is fully designed this way as well. Although you get the impression of an old video game, with icons and tools being a little difficult to identify, accommodation is no problem at all.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EClever file support and drawing tools.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThe result is either an enhanced picture or short animation to use in your project, but until you get there some effort needs to be invested. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh5.ggpht.com\/-xA7fUX30u2M\/VODiWoWGfpI\/AAAAAAAAIJg\/UKDF2GMhCbw\/s1600-h\/aseprite%252520logo%25255B8%25255D.png\"\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" title=\"aseprite logo\" border=\"0\" alt=\"aseprite logo\" src=\"http:\/\/lh4.ggpht.com\/-jergkoYbh-M\/VODiaGmbyFI\/AAAAAAAAIJo\/AWbgE2Jqq50\/aseprite%252520logo_thumb%25255B3%25255D.png?imgmax=800\" width=\"640\" height=\"288\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E \u003Ca name='more'\u003E\u003C\/a\u003E  \u003Cp\u003E\u003Cstrong\u003ETimeline.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThis is the timeline:\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Timeline\" src=\"http:\/\/www.aseprite.org\/docs\/sprite\/sprite-components.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EIt shows the layers and frames of the active sprite. You can press the \u003Ccode\u003ETab\u003C\/code\u003E key to show or hide it. Also it appears automatically when you create a new Frame or Layer. (This behavior can be disable from \u003Cem\u003EEdit \u0026gt; Options \u0026gt; General \u0026gt; Show timeline automatically\u003C\/em\u003E.)\u003C\/p\u003E  \u003Cp\u003EYou can use \u003Cem\u003ELayer \u0026gt; New Layer\u003C\/em\u003E menu (\u003Ccode\u003EShift+N\u003C\/code\u003E) to create new layers or \u003Cem\u003EFrame \u0026gt; New Frame\u003C\/em\u003E menu (\u003Ccode\u003EAlt+N\u003C\/code\u003E) to add frames.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ECommon Operations.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ELayers.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EMove Layers.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cul\u003E   \u003Cp\u003EUse the timeline to move layers:\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Move Layers\" src=\"http:\/\/www.aseprite.org\/docs\/move-layers\/move-layers.gif\" \/\u003E\u003C\/p\u003E    \u003Col\u003E     \u003Cli\u003ESelect a range of layers you want to move. \u003C\/li\u003E      \u003Cli\u003EPut the mouse above the selection border. \u003C\/li\u003E      \u003Cli\u003EStart dragging the from selection border. \u003C\/li\u003E      \u003Cli\u003EDrop the layers where you want. \u003C\/li\u003E   \u003C\/ol\u003E \u003C\/ul\u003E  \u003Cp\u003E\u003Cstrong\u003ECopy Layers.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cul\u003E   \u003Cp\u003EUse the timeline to copy layers:\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Copy layers\" src=\"http:\/\/www.aseprite.org\/docs\/copy-layers\/copy-layers.gif\" \/\u003E\u003C\/p\u003E    \u003Col\u003E     \u003Cli\u003ESelect a range of layers you want to copy. \u003C\/li\u003E      \u003Cli\u003EMove the mouse to the selection border. \u003C\/li\u003E      \u003Cli\u003EHold \u003Ccode\u003ECtrl\u003C\/code\u003E or \u003Ccode\u003EAlt\u003C\/code\u003E key and start dragging. \u003C\/li\u003E      \u003Cli\u003EDrop the copy where you want, holding \u003Ccode\u003ECtrl\u003C\/code\u003E or \u003Ccode\u003EAlt\u003C\/code\u003E keys. \u003C\/li\u003E   \u003C\/ol\u003E \u003C\/ul\u003E  \u003Cp\u003E\u003Cstrong\u003EFrames.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EMove Frames.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cul\u003E   \u003Cp\u003EUse the timeline to move frames:\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Move Frames\" src=\"http:\/\/www.aseprite.org\/docs\/move-frames\/move-frames.gif\" \/\u003E\u003C\/p\u003E    \u003Col\u003E     \u003Cli\u003ESelect a range of frames you want to move. \u003C\/li\u003E      \u003Cli\u003EPut the mouse above the selection border. \u003C\/li\u003E      \u003Cli\u003EStart dragging the from selection border. \u003C\/li\u003E      \u003Cli\u003EDrop the frames where you want. \u003C\/li\u003E   \u003C\/ol\u003E \u003C\/ul\u003E  \u003Cp\u003E\u003Cstrong\u003ECopy Frames.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cul\u003E   \u003Cp\u003EUse the timeline to copy frames:\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Copy frames\" src=\"http:\/\/www.aseprite.org\/docs\/copy-frames\/copy-frames.gif\" \/\u003E\u003C\/p\u003E    \u003Col\u003E     \u003Cli\u003ESelect a range of frames you want to copy. \u003C\/li\u003E      \u003Cli\u003EMove the mouse to the selection border. \u003C\/li\u003E      \u003Cli\u003EHold \u003Ccode\u003ECtrl\u003C\/code\u003E or \u003Ccode\u003EAlt\u003C\/code\u003E key and start dragging. \u003C\/li\u003E      \u003Cli\u003EDrop the copy where you want, holding \u003Ccode\u003ECtrl\u003C\/code\u003E or \u003Ccode\u003EAlt\u003C\/code\u003E keys. \u003C\/li\u003E   \u003C\/ol\u003E \u003C\/ul\u003E  \u003Cp\u003E\u003Cstrong\u003ECels:\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EMove Cels.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cul\u003E   \u003Cp\u003EUse the timeline to move cels:\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Move Cels\" src=\"http:\/\/www.aseprite.org\/docs\/move-cels\/move-cels.gif\" \/\u003E\u003C\/p\u003E    \u003Col\u003E     \u003Cli\u003ESelect a range of cels you want to move. \u003C\/li\u003E      \u003Cli\u003EPut the mouse above the selection border. \u003C\/li\u003E      \u003Cli\u003EStart dragging the from selection border. \u003C\/li\u003E      \u003Cli\u003EDrop the cels where you want. \u003C\/li\u003E   \u003C\/ol\u003E    \u003Cp\u003ENote that you can move cels beyond the end of the animation. In this case new empty frames are created automatically\u003C\/p\u003E    \u003Cp\u003E\u003Cstrong\u003ECopy Cels.\u003C\/strong\u003E\u003C\/p\u003E    \u003Cp\u003EUse the timeline to copy cels:\u003C\/p\u003E    \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Copy cels\" src=\"http:\/\/www.aseprite.org\/docs\/copy-cels\/copy-cels.gif\" \/\u003E\u003C\/p\u003E    \u003Col\u003E     \u003Cli\u003ESelect a range of cels you want to copy. \u003C\/li\u003E      \u003Cli\u003EMove the mouse to the selection border. \u003C\/li\u003E      \u003Cli\u003EHold \u003Ccode\u003ECtrl\u003C\/code\u003E or \u003Ccode\u003EAlt\u003C\/code\u003E key and start dragging. \u003C\/li\u003E      \u003Cli\u003EDrop the copy where you want, holding \u003Ccode\u003ECtrl\u003C\/code\u003E or \u003Ccode\u003EAlt\u003C\/code\u003E keys. \u003C\/li\u003E   \u003C\/ol\u003E    \u003Cp\u003ENote that you can copy cels beyond the end of the animation. In this case new empty frames are created automatically.\u003C\/p\u003E \u003C\/ul\u003E  \u003Cp\u003E\u003Cstrong\u003ECopy between documents.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EYou can copy and paste layers, frames, or cels between different documents using \u003Cem\u003EEdit \u0026gt; Copy\u003C\/em\u003E and \u003Cem\u003EEdit \u0026gt; Paste\u003C\/em\u003E.\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"Copy and Paste on Timeline\" src=\"http:\/\/www.aseprite.org\/docs\/timeline\/timeline-copy-and-paste.gif\" \/\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/9202940967513323759\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/9202940967513323759"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/9202940967513323759"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/aseprite-is-open-source-program-to.html","title":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: Timeline."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh4.ggpht.com\/-jergkoYbh-M\/VODiaGmbyFI\/AAAAAAAAIJo\/AWbgE2Jqq50\/s72-c\/aseprite%252520logo_thumb%25255B3%25255D.png?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-5005770880594212383"},"published":{"$t":"2015-11-06T06:54:00.001-08:00"},"updated":{"$t":"2015-11-06T06:54:07.123-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Library"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Programming Language"}],"title":{"type":"text","$t":"The PLplot Library User Guide: Simple Use of PLplot."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/sourceforge.net\/projects\/plplot\"\u003EPLplot\u003C\/a\u003E\u003C\/strong\u003E \u003Cstrong\u003Eis a library of C functions that are useful for making scientific\u003C\/strong\u003E plots from programs written in C, C++, Fortran95, Java, Octave, Perl, Python, and Tcl\/Tk. The PLplot project is being developed by a world-wide team who interact via the facilities provided by SourceForge (\u003Ca href=\"http:\/\/sourceforge.net\/projects\/plplot\"\u003Ehttp:\/\/sourceforge.net\/projects\/plplot\u003C\/a\u003E) \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EThe PLplot library can be used to create standard x-y plots\u003C\/strong\u003E, semi-log plots, log-log plots, contour plots, 3D plots, shade (gray-scale and color) plots, mesh plots, bar charts and pie charts. Multiple graphs (of the same or different sizes) may be placed on a single page with multiple lines in each graph. Different line styles, widths and colors are supported. A virtually infinite number of distinct area fill patterns may be used. There is full unicode support in the PLplot library, and most of the display drivers are capable of displaying any of the millions(?) of characters in the unicode standard.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/-qLinxZS9QG4\/Vjy--qTTAyI\/AAAAAAAAIaQ\/haERbBi3WHY\/s1600-h\/3d-plot-4%25255B2%25255D.jpg\"\u003E\u003Cimg style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"3d-plot-4\" border=\"0\" alt=\"3d-plot-4\" src=\"http:\/\/lh3.googleusercontent.com\/-t1zFi0nYTBg\/Vjy-_UTfW-I\/AAAAAAAAIaY\/OxsXz1fZtN8\/3d-plot-4_thumb%25255B2%25255D.jpg?imgmax=800\" width=\"600\" height=\"500\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E \u003Ca name='more'\u003E\u003C\/a\u003E  \u003Cp\u003E\u003Cstrong\u003EPlotting a Simple Graph.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EWe shall first consider plotting simple graphs showing the dependence of one variable upon another. Such a graph may be composed of several elements:\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; A box which defines the ranges of the variables, perhaps with axes and numeric labels along its edges.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; A set of points or lines within the box showing the functional dependence.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; A set of labels for the variables and a title for the graph. \u003C\/p\u003E  \u003Cp\u003EIn order to draw such a graph, it is necessary to call at least four of the PLplot functions:\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; plinit, to initialize PLplot.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; plenv, to define the range and scale of the graph, and draw labels, axes, etc.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; One or more calls to plline or plpoin to draw lines or points as needed. Other more complex routines include plbin and plhist to draw histograms, plerrx and plerry to draw error-bars.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; plend, to close the plot. \u003C\/p\u003E  \u003Cp\u003EMore than one graph can be drawn on a single set of axes by making repeated calls to the routines listed in item 3 above. PLplot only needs to be initialized once unless plotting to multiple output devices. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EInitializing PLplot.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EBefore any actual plotting calls are made, a graphics program must call plinit, is the main initialization routine for PLplot. It sets up all internal data structures necessary for plotting and initializes the output device driver. If the output device has not already been specified when plinit is called, a list of valid output devices is given and the user is prompted for a choice. Either the device number or a device keyword is accepted.\u003C\/p\u003E  \u003Cp\u003EThere are several routines affecting the initialization that must be called before plinit, if they are used. The function plsdev allows you to set the device explicitly. The function plsetopt allows you to set any command-line option internally in your code. The function plssub may be called to divide the output device plotting area into several subpages of equal size, each of which can be used separately.\u003C\/p\u003E  \u003Cp\u003EOne advances to the next page (or screen) via pladv. If subpages are used, this can be used to advance to the next subpage or to a particular subpage. \u003C\/p\u003E  \u003Cp\u003EDefining Plot Scales and Axes\u003C\/p\u003E  \u003Cp\u003EThe function plenv is used to define the scales and axes for simple graphs. plenv starts a new picture on the next subpage (or a new page if necessary), and defines the ranges of the variables required. The routine will also draw a box, axes, and numeric labels if requested. The syntax for plenv is:\u003C\/p\u003E  \u003Cp\u003Eplenv (\u0026#160;\u0026#160;\u0026#160; xmin,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; xmax,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; ymin,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; ymax,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; just,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003Exmin, xmax (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; The left and right limits for the horizontal axis.    \u003Cbr \/\u003Eymin, ymax (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; The bottom and top limits for the vertical axis.    \u003Cbr \/\u003Ejust (PLINT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; This should be zero or one. If just is one, the scales of the x-axis and y-axis will be the same (in units per millimeter); otherwise the axes are scaled independently. This parameter is useful for ensuring that objects such as circles have the correct aspect ratio in the final plot.    \u003Cbr \/\u003Eaxis (PLINT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; axis controls whether a box, tick marks, labels, axes, and\/or a grid are drawn.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = -2: No box or annotation.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = -1: Draw box only.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 0: Draw box, labelled with coordinate values around edge.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 1: In addition to box and labels, draw the two axes X = 0 and Y = 0.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 2: Same as axis = 1, but also draw a grid at the major tick interval.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 10: Logarithmic X axis, linear Y axis.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 11: Logarithmic X axis, linear Y axis and draw line Y = 0.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 20: Linear X axis, logarithmic Y axis.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 21: Linear X axis, logarithmic Y axis and draw line X = 0.\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; axis = 30: Logarithmic X and Y axes. \u003C\/p\u003E  \u003Cp\u003ENote: Logarithmic axes only affect the appearance of the axes and their labels, so it is up to the user to compute the logarithms prior to passing them to plenv and any of the other routines. Thus, if a graph has a 3-cycle logarithmic axis from 1 to 1000, we need to set xmin = log10(1) = 0.0, and xmax = log10(1000) = 3.0.\u003C\/p\u003E  \u003Cp\u003EFor greater control over the size of the plots, axis labelling and tick intervals, more complex graphs should make use of the functions plvpor, plvasp, plvpas, plwind, plbox, and routines for manipulating axis labelling plgxax through plszax. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/--p3KkCFEHHA\/Vjy-_9A8hZI\/AAAAAAAAIag\/GurAyFbA22s\/s1600-h\/PLplot%25255B4%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"PLplot\" border=\"0\" alt=\"PLplot\" src=\"http:\/\/lh3.googleusercontent.com\/-Ljz1u5OdExc\/Vjy_AimRT4I\/AAAAAAAAIao\/sNmsvDab51M\/PLplot_thumb%25255B2%25255D.png?imgmax=800\" width=\"600\" height=\"450\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ELabelling the Graph.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThe function pllab may be called after plenv to write labels on the x and y axes, and at the top of the picture. All the variables are character variables or constants. Trailing spaces are removed and the label is centered in the appropriate field. The syntax for pllab is:\u003C\/p\u003E  \u003Cp\u003Epllab (\u0026#160;\u0026#160;\u0026#160; xlbl,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; ylbl,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; toplbl);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003Exlbl (char *, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Pointer to string with label for the X-axis (bottom of graph).    \u003Cbr \/\u003Eylbl (char *, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Pointer to string with label for the Y-axis (left of graph).    \u003Cbr \/\u003Etoplbl (char *, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Pointer to string with label for the plot (top of picture).} \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EDrawing the Graph.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EPLplot can draw graphs consisting of points with optional error bars, line segments or histograms. Functions which perform each of these actions may be called after setting up the plotting environment using plenv. All of the following functions draw within the box defined by plenv, and any lines crossing the boundary are clipped. Functions are also provided for drawing surface and contour representations of multi-dimensional functions. See Chapter 3, Advanced Use of PLplot for discussion of finer control of plot generation.   \u003Cbr \/\u003EDrawing Points\u003C\/p\u003E  \u003Cp\u003Eplpoin and plsym mark out n points (x[i], y[i]) with the specified symbol. The routines differ only in the interpretation of the symbol codes. plpoin uses an extended ASCII representation, with the printable ASCII codes mapping to the respective characters in the current font, and the codes from 0–31 mapping to various useful symbols. In plsym however, the code is a Hershey font code number. Example programs are provided which display each of the symbols available using these routines.\u003C\/p\u003E  \u003Cp\u003Eplpoin(\u0026#160;\u0026#160;\u0026#160; n,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; x,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; y,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; code);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003Eplsym (\u0026#160;\u0026#160;\u0026#160; n,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; x,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; y,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; code);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003En (PLINT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; The number of points to plot.    \u003Cbr \/\u003Ex, y (PLFLT *, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Pointers to arrays of the coordinates of the n points.    \u003Cbr \/\u003Ecode (PLINT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Code number of symbol to draw \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EDrawing Lines or Curves.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EPLplot provides two functions for drawing line graphs. All lines are drawn in the currently selected color, style and width. See the section called “Setting Line Attributes” for information about changing these parameters.\u003C\/p\u003E  \u003Cp\u003Eplline draws a line or curve. The curve consists of n-1 line segments joining the n points in the input arrays. For single line segments, pljoin is used to join two points.\u003C\/p\u003E  \u003Cp\u003Eplline (\u0026#160;\u0026#160;\u0026#160; n,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; x,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; y);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003En (PLINT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; The number of points.    \u003Cbr \/\u003Ex, y (PLFLT *, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Pointers to arrays with coordinates of the n points. \u003C\/p\u003E  \u003Cp\u003Epljoin (\u0026#160;\u0026#160;\u0026#160; x1,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; y1,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; x2,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; y2);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003Ex1, y1 (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Coordinates of the first point.    \u003Cbr \/\u003Ex2, y2 (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Coordinates of the second point. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/-ypTPBknYuKg\/Vjy_BUVlJAI\/AAAAAAAAIaw\/1roblASAO-c\/s1600-h\/PLplot-1%25255B4%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"PLplot-1\" border=\"0\" alt=\"PLplot-1\" src=\"http:\/\/lh3.googleusercontent.com\/-BTNenVHGDqY\/Vjy_CLr_0UI\/AAAAAAAAIa4\/kIPaITzzP6I\/PLplot-1_thumb%25255B2%25255D.png?imgmax=800\" width=\"600\" height=\"450\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EWriting Text on a Graph.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003Eplptex allows text to be written within the limits set by plenv. The reference point of a text string may be located anywhere along an imaginary horizontal line passing through the string at half the height of a capital letter. The parameter just specifies where along this line the reference point is located. The string is then rotated about the reference point through an angle specified by the parameters dx and dy, so that the string becomes parallel to a line joining (x, y) to (x+dx, y+dy).\u003C\/p\u003E  \u003Cp\u003Eplptex (\u0026#160;\u0026#160;\u0026#160; x,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; y,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; dx,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; dy,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; just,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; text);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003Ex, y (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Coordinates of the reference point.    \u003Cbr \/\u003Edx, dy (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; These specify the angle at which the text is to be printed. The text is written parallel to a line joining the points (x, y) to (x+dx, y+dy) on the graph.    \u003Cbr \/\u003Edx, dy (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; These specify the angle at which the text is to be printed. The text is written parallel to a line joining the points (x, y) to (x+dx, y+dy) on the graph.    \u003Cbr \/\u003Ejust (PLFLT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Determines justification of the string by specifying which point within the string is placed at the reference point (x, y). This parameter is a fraction of the distance along the string. Thus if just = 0.0, the reference point is at the left-hand edge of the string. If just = 0.5, it is at the center and if just = 1.0, it is at the right-hand edge.    \u003Cbr \/\u003Etext (char *, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Pointer to the string of characters to be written. \u003C\/p\u003E  \u003Cp\u003EArea Fills\u003C\/p\u003E  \u003Cp\u003EArea fills are done in the currently selected color, line style, line width and pattern style.\u003C\/p\u003E  \u003Cp\u003Eplfill fills a polygon. The polygon consists of n vertices which define the polygon.\u003C\/p\u003E  \u003Cp\u003Eplfill (\u0026#160;\u0026#160;\u0026#160; n,   \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; x,    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160;\u0026#160; y);    \u003Cbr \/\u003E\u0026#160;\u003C\/p\u003E  \u003Cp\u003En (PLINT, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; The number of vertices.    \u003Cbr \/\u003Ex, y (PLFLT *, input)\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Pointers to arrays with coordinates of the n vertices. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/-njEsaOKGtwY\/Vjy_Cu2zhQI\/AAAAAAAAIbA\/QLNV-zr5gQ8\/s1600-h\/plplot-shot_graph2%25255B4%25255D.gif\"\u003E\u003Cimg style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"plplot-shot_graph2\" border=\"0\" alt=\"plplot-shot_graph2\" src=\"http:\/\/lh3.googleusercontent.com\/-HBRc5N7-i5g\/Vjy_DaDia-I\/AAAAAAAAIbE\/OHbC8yw4QkQ\/plplot-shot_graph2_thumb%25255B2%25255D.gif?imgmax=800\" width=\"585\" height=\"600\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E    \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/5005770880594212383\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/the-plplot-library-user-guide-simple.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/5005770880594212383"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/5005770880594212383"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/11\/the-plplot-library-user-guide-simple.html","title":"The PLplot Library User Guide: Simple Use of PLplot."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh3.googleusercontent.com\/-t1zFi0nYTBg\/Vjy-_UTfW-I\/AAAAAAAAIaY\/OxsXz1fZtN8\/s72-c\/3d-plot-4_thumb%25255B2%25255D.jpg?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-8304215091189235387"},"published":{"$t":"2015-10-09T18:05:00.001-07:00"},"updated":{"$t":"2015-10-09T18:07:45.086-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Repository"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Science"}],"title":{"type":"text","$t":"PLplot is a cross-platform software package for creating scientific plots."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Ca href=\"http:\/\/plplot.sourceforge.net\/\"\u003E\u003Cstrong\u003EPlPlot\u003C\/strong\u003E\u003C\/a\u003E\u003Cstrong\u003E is a cross-platform software package for creating scientific plots\u003C\/strong\u003E. To help accomplish that task it is organized as a core C library, language bindings for that library, and device drivers which control how the plots are presented in non-interactive and interactive plotting contexts. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EThe PLplot core library can be used to create standard x-y plots\u003C\/strong\u003E, semi-log plots, log-log plots, contour plots, 3D surface plots, mesh plots, bar charts and pie charts. \u003C\/p\u003E  \u003Cp\u003EMultiple graphs (of the same or different sizes) may be placed on a single page, and multiple pages are allowed for those device formats that support them. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EPLplot has core support for Unicode.\u003C\/strong\u003E This means for our many Unicode-aware devices that plots can be labelled using the enormous selection of Unicode mathematical symbols.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.googleusercontent.com\/-KW_T6HsMghc\/VhhkMCIo7OI\/AAAAAAAAIY8\/tYD2hZslftY\/s1600-h\/plplot%25255B4%25255D.jpg\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"plplot\" border=\"0\" alt=\"plplot\" src=\"http:\/\/lh3.googleusercontent.com\/-PsGwSxUcVtY\/VhhkMxdYJMI\/AAAAAAAAIZE\/ZOz9XGL9ixw\/plplot_thumb%25255B2%25255D.jpg?imgmax=800\" width=\"640\" height=\"509\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E \u003Ca name='more'\u003E\u003C\/a\u003E  \u003Cp\u003EA large subset of our Unicode-aware devices also support complex text layout (CTL) languages such as Arabic, Hebrew, and Indic and Indic-derived CTL scripts such as Devanagari, Thai, Lao, and Tibetan. \u003C\/p\u003E  \u003Cp\u003EA number of compiled and interpreted languages have access to PLplot, see our list of language bindings. \u003C\/p\u003E  \u003Cp\u003EPLplot device drivers support a number of different file formats for non-interactive plotting and a number of different platforms that are suitable for interactive plotting. It is easy to add new device drivers to PLplot by writing a small number of device dependent routines. \u003C\/p\u003E  \u003Cp\u003EPLplot is free software primarily licensed under the LGPL. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ECross Platform.      \u003Cbr \/\u003E\u003C\/strong\u003EPLplot is currently known to work on the following platforms:     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Linux, Mac OS X, and other Unices     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Windows (2000, XP and Vista)     \u003Cbr \/\u003EPLplot is built on the above platforms using our CMake-based build system.     \u003Cbr \/\u003ELanguage Bindings     \u003Cbr \/\u003EThere are many bindings to the PLplot library\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" src=\"http:\/\/lh4.ggpht.com\/_P-H3qjYWw0A\/TcL5YB_ldcI\/AAAAAAAADqQ\/q4OqEt5Wu58\/%5BUNSET%5D.png?imgmax=800\" width=\"600\" height=\"450\" \/\u003E\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Ada    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; C\/C++\/D     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Fortran 77\/90     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Java     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Lisp     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Lua     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; OCaml     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Octave     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Perl     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Python     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Tcl\/Tk     \u003Cbr \/\u003EOutput file formats     \u003Cbr \/\u003EPLplot device drivers support a number of plotting file formats.     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; CGM     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; GIF     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; JPEG     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; LaTeX     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; PBM     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; PDF     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; PNG     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; PostScript     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; SVG     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Xfig     \u003Cbr \/\u003EInteractive Platforms     \u003Cbr \/\u003EPLplot device drivers support a number of platforms that are suitable for interactive plotting.     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; GNOME     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Gtk+     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; PyQt     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Qt     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Tcl\/Tk     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; wxWidgets     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; X\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" src=\"http:\/\/lh5.ggpht.com\/_P-H3qjYWw0A\/TcL5hztXleI\/AAAAAAAADqU\/BLAgLKpaKjM\/%5BUNSET%5D.png?imgmax=800\" width=\"600\" height=\"451\" \/\u003E\u003C\/p\u003E  \u003Cblockquote\u003E   \u003Cp\u003E\u003Cstrong\u003EDownload.\u003C\/strong\u003E\u003C\/p\u003E    \u003Cp\u003E\u003Ca name=\"source_code\"\u003E\u003Cem\u003ESource Code\u003C\/em\u003E\u003C\/a\u003E\u003Cem\u003E.\u003C\/em\u003E\u003C\/p\u003E    \u003Cp\u003EAll our Windows users and many of our Unix users build PLplot from source code using our build system that is implemented with \u003Ca href=\"http:\/\/cmake.org\/\"\u003ECMake\u003C\/a\u003E following the directions in our \u003Ca href=\"http:\/\/sourceforge.net\/p\/plplot\/wiki\"\u003Ewiki\u003C\/a\u003E. PLplot source code can be accessed a number of ways. You can obtain the latest stable version of PLplot from our \u003Ca href=\"http:\/\/sourceforge.net\/projects\/plplot\/files\/plplot\/\"\u003Efile release site\u003C\/a\u003E. Alternatively, you can obtain the cutting-edge version of PLplot (but with no promises about stability) using\u003C\/p\u003E    \u003Cp align=\"center\"\u003E\u003Cem\u003Egit clone git:\/\/git.code.sf.net\/p\/plplot\/plplot plplot.git\u003C\/em\u003E\u003C\/p\u003E    \u003Cp\u003EFinally, you can browse our git repository \u003Ca href=\"http:\/\/sourceforge.net\/p\/plplot\/plplot\/ci\/master\/tree\"\u003Ehere\u003C\/a\u003E.\u003C\/p\u003E    \u003Cp\u003E\u003Ca name=\"Binary_Packages\"\u003E\u003Cem\u003EBinary Packages\u003C\/em\u003E\u003C\/a\u003E\u003Cem\u003E.\u003C\/em\u003E\u003C\/p\u003E    \u003Cp\u003EA number of third-party binary packages for PLplot are available. Binary packages are provided by at least the following Linux distributions:\u003C\/p\u003E    \u003Cul\u003E     \u003Cli\u003E\u003Ca href=\"http:\/\/packages.ubuntu.com\/search?keywords=plplot\u0026amp;searchon=names\u0026amp;suite=all\u0026amp;section=all\"\u003EUbuntu\u003C\/a\u003E \u003C\/li\u003E      \u003Cli\u003E\u003Ca href=\"http:\/\/packages.debian.org\/search?searchon=sourcenames\u0026amp;keywords=plplot\"\u003EDebian\u003C\/a\u003E \u003C\/li\u003E      \u003Cli\u003E\u003Ca href=\"https:\/\/apps.fedoraproject.org\/packages\/plplot\"\u003EFedora\u003C\/a\u003E \u003C\/li\u003E      \u003Cli\u003E\u003Ca href=\"http:\/\/software.opensuse.org\/package\/plplot\"\u003EopenSUSE\u003C\/a\u003E \u003C\/li\u003E   \u003C\/ul\u003E    \u003Cp\u003EBinary packages are provided by at least the following Mac OS X distributions:\u003C\/p\u003E    \u003Cul\u003E     \u003Cli\u003E\u003Ca href=\"http:\/\/www.finkproject.org\/pdb\/browse.php?summary=plplot\"\u003EFink\u003C\/a\u003E \u003C\/li\u003E      \u003Cli\u003E\u003Ca href=\"https:\/\/github.com\/Homebrew\/homebrew\/blob\/master\/Library\/Formula\/plplot.rb\"\u003EHomebrew\u003C\/a\u003E \u003C\/li\u003E      \u003Cli\u003E\u003Ca href=\"https:\/\/www.macports.org\/ports.php?by=name\u0026amp;substr=plplot\"\u003EMacPorts\u003C\/a\u003E \u003C\/li\u003E   \u003C\/ul\u003E    \u003Cp\u003ETo our knowledge no binary packages for PLplot are currently available for Windows platforms so our Windows users must build PLplot \u003Ca href=\"http:\/\/plplot.sourceforge.net\/downloads.php#source_code\"\u003Efrom source\u003C\/a\u003E.\u003C\/p\u003E \u003C\/blockquote\u003E  \u003Cp\u003E\u003Cb\u003EExamples.\u003C\/b\u003E \u003C\/p\u003E  \u003Cp align=\"left\"\u003EThese examples were generated with the pngcairo device and reflect the status of PLplot-5.9.7.    \u003Cbr \/\u003ESelect a thumbnail to view full-size image and source code.     \u003Cbr \/\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=01\"\u003E\u003Cimg border=\"0\" alt=\"x01.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo01\/prev-x01.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=02\"\u003E\u003Cimg border=\"0\" alt=\"x02.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo02\/prev-x02.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=03\"\u003E\u003Cimg border=\"0\" alt=\"x03.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo03\/prev-x03.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=04\"\u003E\u003Cimg border=\"0\" alt=\"x04.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo04\/prev-x04.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=05\"\u003E\u003Cimg border=\"0\" alt=\"x05.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo05\/prev-x05.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=06\"\u003E\u003Cimg border=\"0\" alt=\"x06.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo06\/prev-x06.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=07\"\u003E\u003Cimg border=\"0\" alt=\"x07.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo07\/prev-x07.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=08\"\u003E\u003Cimg border=\"0\" alt=\"x08.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo08\/prev-x08.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=09\"\u003E\u003Cimg border=\"0\" alt=\"x09.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo09\/prev-x09.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=10\"\u003E\u003Cimg border=\"0\" alt=\"x10.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo10\/prev-x10.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=11\"\u003E\u003Cimg border=\"0\" alt=\"x11.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo11\/prev-x11.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=12\"\u003E\u003Cimg border=\"0\" alt=\"x12.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo12\/prev-x12.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=13\"\u003E\u003Cimg border=\"0\" alt=\"x13.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo13\/prev-x13.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=14\"\u003E\u003Cimg border=\"0\" alt=\"x14.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo14\/prev-x14.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=15\"\u003E\u003Cimg border=\"0\" alt=\"x15.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo15\/prev-x15.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=16\"\u003E\u003Cimg border=\"0\" alt=\"x16.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo16\/prev-x16.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=17\"\u003E\u003Cimg border=\"0\" alt=\"x17.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo17\/prev-x17.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=18\"\u003E\u003Cimg border=\"0\" alt=\"x18.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo18\/prev-x18.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=19\"\u003E\u003Cimg border=\"0\" alt=\"x19.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo19\/prev-x19.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=20\"\u003E\u003Cimg border=\"0\" alt=\"x20.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo20\/prev-x20.03.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=21\"\u003E\u003Cimg border=\"0\" alt=\"x21.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo21\/prev-x21.03.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=22\"\u003E\u003Cimg border=\"0\" alt=\"x22.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo22\/prev-x22.03.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=23\"\u003E\u003Cimg border=\"0\" alt=\"x23.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo23\/prev-x23.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=24\"\u003E\u003Cimg border=\"0\" alt=\"x24.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo24\/prev-x24.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=25\"\u003E\u003Cimg border=\"0\" alt=\"x25.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo25\/prev-x25.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=26\"\u003E\u003Cimg border=\"0\" alt=\"x26.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo26\/prev-x26.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=27\"\u003E\u003Cimg border=\"0\" alt=\"x27.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo27\/prev-x27.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=28\"\u003E\u003Cimg border=\"0\" alt=\"x28.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo28\/prev-x28.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=29\"\u003E\u003Cimg border=\"0\" alt=\"x29.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo29\/prev-x29.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=30\"\u003E\u003Cimg border=\"0\" alt=\"x30.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo30\/prev-x30.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=31\"\u003E\u003Cimg border=\"0\" alt=\"x31.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo31\/prev-x31.01.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/plplot.sourceforge.net\/examples.php?demo=32\"\u003E\u003Cimg border=\"0\" alt=\"x32.thumbnail\" src=\"http:\/\/plplot.sourceforge.net\/examples-data\/demo32\/prev-x32.01.png\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/8304215091189235387\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/10\/plplot-is-cross-platform-software.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/8304215091189235387"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/8304215091189235387"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/10\/plplot-is-cross-platform-software.html","title":"PLplot is a cross-platform software package for creating scientific plots."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh3.googleusercontent.com\/-PsGwSxUcVtY\/VhhkMxdYJMI\/AAAAAAAAIZE\/ZOz9XGL9ixw\/s72-c\/plplot_thumb%25255B2%25255D.jpg?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-4126273312020305738"},"published":{"$t":"2015-02-20T08:05:00.001-08:00"},"updated":{"$t":"2015-02-20T09:35:08.801-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"}],"title":{"type":"text","$t":"RawTherapee cross-platform raw image processing program: a color-managed Linux workflow (Chapter II)."},"content":{"type":"html","$t":"\u003Cp\u003EThe default illuminant is D50; D55, or 5500°K, is not provided as an option.\u0026#160; The spectral data in Argyll’s own custom spectrum file, D50_1.0.sp, can be found in \u003Ca href=\"http:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/9781119975595.app5\/pdf\"\u003EMeasuring Colour, Fourth Edition\u003C\/a\u003E [PDF] by R.W.G. Hunt and M.R. Pointer, conveniently accompanied by the values for D55.\u0026#160; \u003C\/p\u003E  \u003Cp\u003EI used the latter to create \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/downloads\/D55_1.0.sp\"\u003ED55_1.0.sp\u003C\/a\u003E.\u0026#160; (Note, page 358 contains a typo; the middle columns for wavelengths 785+ are misaligned, and should be under D50, D55, D65, and D75.)\u003C\/p\u003E  \u003Cp\u003EOne more step remains before using the profile for high-quality work:\u0026#160; determining output levels as described on the \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/BTDZS\/workflow.htm#printers\"\u003EBTDZS workflow page\u003C\/a\u003E.\u003C\/p\u003E  \u003Cp\u003EFor printing real images, the only differences are that the image will have an embedded working space profile, and we set the printer profile in the color management dialog.\u0026#160; (I also set the soft-proofing display mode.)\u0026#160; Everything else stays the same.\u003C\/p\u003E  \u003Cp\u003EPhotoPrint settings for actual printing:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh6.ggpht.com\/-uwi9ujcaOZg\/VOdwRKCytsI\/AAAAAAAAIKg\/PupjEfQ0Knk\/s1600-h\/rawtherapee%252520-photoprint%2525200.4.2-pre2%25255B4%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"rawtherapee -photoprint 0.4.2-pre2\" border=\"0\" alt=\"rawtherapee -photoprint 0.4.2-pre2\" src=\"http:\/\/lh3.ggpht.com\/-isR67yKlQo4\/VOdwSiXFkTI\/AAAAAAAAIKo\/T3fS3ZTnqH0\/rawtherapee%252520-photoprint%2525200.4.2-pre2_thumb%25255B2%25255D.png?imgmax=800\" width=\"373\" height=\"640\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E \u003Ca name='more'\u003E\u003C\/a\u003E  \u003Cp\u003E\u0026#160;\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"color management\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-Colour%20Management2.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EThe final result.\u0026#160; This print is something of a worst-case scenario, using Office Depot High Gloss paper and Amazon.com bargain ink profiled as above.\u0026#160; The profile clearly works, although the blues are a little off:\u003C\/p\u003E  \u003Cp\u003EPrints made with and without the printer profile.\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"composite\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/composite.jpg\" width=\"656\" height=\"614\" \/\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003ETurboPrint.\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EIs there any other way to print in Linux with a printer whose manufacturer has not provided a driver?\u0026#160; The proprietary application \u003Ca href=\"http:\/\/www.turboprint.info\/\"\u003ETurboPrint\u003C\/a\u003E comes with drivers for many more printers than Gutenprint does.\u0026#160; Additionally, they include things like ink levels and head maintenance, which is essential for higher-quality printers.\u0026#160; Unfortunately, PhotoPrint does not work with TurboPrint.\u0026#160; The latter does come with a GIMP plugin, which in that case limits it to 8 bits (GIMP 2.9, under development, may \u003Ci\u003Efinally\u003C\/i\u003E use 16 bits!)\u0026#160; \u003Ca href=\"http:\/\/www.cinepaint.org\/\"\u003ECinePaint\u003C\/a\u003E and \u003Ca href=\"https:\/\/krita.org\/\"\u003EKrita\u003C\/a\u003E are both color-managed and 16-bit; the former does not print with TurboPrint; the latter does, but its printing is buggy, as it does not seem to be able to distinguish the image size from the page size.\u0026#160; RawTherapee is 16-bit but, unfortunately, has no printing capability.\u0026#160; (In reality, 16-bit is superior for image editing, but probably not really necessary for printing the final image; color management is much more important.)\u003C\/p\u003E  \u003Cp\u003ESo all things considered, I gave TurboPrint and GIMP a try.\u0026#160; I downloaded and installed the former from turboprint.info without any problems.\u0026#160; It comes with a fairly thorough .pdf manual.\u0026#160; You need to add your printers to TurboPrint; they will be named things like iP3000-TurboPrint and Pro9500II-TurboPrint so you can identify them.\u0026#160; Then comes profile creation.\u0026#160; TurboPrint’s “printer profiles” are actually media presets to which you assign an .icc profile.\u0026#160; After naming a new profile and choosing the paper and dpi resolution, the application offers to print a row of test images that will allow you to set an ink limit; it’s an interesting touch.\u0026#160; The default is 250; I found 175 to be plenty.\u0026#160; The type of paper and ink are also specified in the profile.\u003C\/p\u003E  \u003Cp\u003EBefore and after importing the .icc profile:\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"printer profile\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-TurboPrintProfiles0.png\" \/\u003E \u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"printer profile\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-TurboPrintProfiles1.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EAt this point, the .icc profile has not yet been created.\u0026#160; The “printer profile” is unmanaged, and we will use it to print the patch targets.\u0026#160; For the Pro9500 Mark II, I made a two-sheet target.\u0026#160; This one uses relatively more grays:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/targen.html\"\u003Etargen\u003C\/a\u003E -v -d2 -G -e4 -B4 -s32 -g64 -f924 Pro9500II_CanonSemiGloss \u003C\/p\u003E  \u003Cp\u003EThis time, we are going to create an 8-bit target image for GIMP (the lower-case -t):\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/printtarg.html\"\u003Eprinttarg\u003C\/a\u003E -v -ii1 -t 300 -C -p Letter Pro9500II_CanonSemiGloss\u003C\/p\u003E  \u003Cp\u003EAmazingly, TurboPrint supports other media besides plain paper!\u0026#160; In GIMP, one prints with it via File — TurboPrint.\u0026#160; The media type\/paper is the printer profle that you created.\u0026#160; All details of the configuration must be kept the same every time, including resolution (which does not always default to that built into the profile) and dithering.\u003C\/p\u003E  \u003Cp\u003ETurboPrint must be told the print’s color space, which means that almost anything other than sRGB must be installed via the Control Center.\u0026#160; But in this case, there is no destination profile, so the source space is ignored even though one is specified on the main panel (the Color tab in the configuration menu, which also specifies the source space, is grayed out).\u0026#160; Be sure to properly scale the image.\u0026#160; This is how we print our unmanaged profiling target:\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"TurboPrint\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-Pro9500II.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/chartread.html\"\u003Echartread\u003C\/a\u003E -v Pro9500II_CanonSemiGloss     \u003Cbr \/\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E -v -D \u0026quot;Pro9500II Canon Semi-Gloss\u0026quot; -qh -i D55_1.0.sp -S ProPhoto.icm -cmt -dpp Pro9500II_CanonSemiGloss \u003C\/p\u003E  \u003Cp\u003ERead the patches in the usual way.\u0026#160; Once you have created the .icc profile, go back to the Control Center, open the printer profile, and import color data in the form of the .icc file.\u0026#160; The profile status will now be “complete” and ready for color-managed printing.\u0026#160; In GIMP, one prints in the same way, except that now there is a destination profile which needs a source color space.\u0026#160; In this case, the unmanaged print made on Canon Semi-Gloss was not too far off:\u003C\/p\u003E  \u003Cp\u003EPrints made with and without the printer profile.\u003C\/p\u003E  \u003Cp\u003E\u003Cimg alt=\"composite\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/composite2TP.jpg\" width=\"737\" height=\"737\" \/\u003E\u003C\/p\u003E  \u003Cp\u003ESounds good so far . . . .\u0026#160; Now for the thorns among the roses.\u0026#160; There were a few major kinks in the TurboPrint workflow.\u0026#160; When printing with the iP3000, the printer installation twice became corrupted; TurboPrint’s print dialog in GIMP all of a sudden had a button that said “Gutenprint Config” instead of “TurboPrint Config,” and a number of the other controls had disappeared.\u0026#160; I had to uninstall then reinstall the printer with a different name to get it to work again.\u0026#160; More seriously, the Pro9500 Mark II would only print one print at a time, after which the blue light would blink and it would neither print nor shut down.\u0026#160; The TurboPrint status monitor would say things like, “Timeout - communication to printer broken,” then “Printer status failed - no access,” then “Printer not connected or switched off” (it wasn’t).\u0026#160; I had to unplug the printer and plug it back in to get it to print again, which means it had to go through its maintenance cycle EVERY SINGLE TIME.\u0026#160; None of the inks started out low, but I had to replace three inks after printing several sheets of test images and a two-sheet profiling target.\u0026#160; Needs work . . . .\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"failed\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-TurboPrintfailed2.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EAt the expense of more ink, I made a few borderless 8.5×11’s with the Pro9500 Mark II, and the quality was amazing; the colors and values were pretty much dead-on, a tribute to Argyll’s monitor and printer profiles.\u0026#160; I then switched to Windows 7 and made some more prints using the new .icc profile with Photoshop and Canon’s driver; there was an obvious difference between these and the former prints, and between print and monitor, indicating that the .icc profile should be considered specific to the driver.\u0026#160; (Argyll’s monitor profile seems to work just as well in Windows; it’s the same graphics card.)\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"party\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/IMG_0326-XL.jpg\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EThere you have it.\u0026#160; We have plenty of room to grow here; the biggest need at present is printer drivers and 16-bit color-managed applications to run them.\u0026#160; But the bottom line is, let there be Linux!\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EBeyond\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EArgyll is available for Windows and Macintosh as well.\u0026#160; Because of the need for new Windows USB drivers for some measurement devices, and because the Linux command line seems more friendly in general, it may still be easier to use the program in Linux even when profiling a Windows or Mac computer; one simply does the printing with the manufacturer’s driver and Photoshop, for example, and does everything else in Linux.\u0026#160; Here are the commands for generating a 24×11-inch i1Profiler target: \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/targen.html\"\u003Etargen\u003C\/a\u003E -v -d2 -G -g257 -f1491 iPF6350_IlfordGPGFS     \u003Cbr \/\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/printtarg.html\"\u003Eprinttarg\u003C\/a\u003E -v -ii1 -T 300 -C -p 609.6x279.4 iPF6350_IlfordGPGFS\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EWhy we don’t use AdobeRGB anymore\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"gamuts\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/printerVsAdobeRGB.jpg\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EThe wire mesh is the Adobe RGB gamut, and the solid figure is Ilford Prestige Gold Fibre Silk on the Canon iPF6350. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/iccgamut.html\"\u003Eiccgamut\u003C\/a\u003E -v -ff AdobeRGB1998.icc     \u003Cbr \/\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/iccgamut.html\"\u003Eiccgamut\u003C\/a\u003E -v -ff GPGFS13_CANipf6350_PSGP280n.icc     \u003Cbr \/\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/viewgam.html\"\u003Eviewgam\u003C\/a\u003E -v -cw -w AdobeRGB1998.gam -cn -t 0.0 -s GPGFS13_CANipf6350_PSGP280n.gam -n ipf6350.wrl \u003C\/p\u003E  \u003Cp\u003EGet \u003Ca href=\"http:\/\/www.cortona3d.com\/cortona3dviewer\"\u003ECortona3D Viewer\u003C\/a\u003E to view the .wrl VRML file (unfortunately, Windows only; OpenVRML doesn’t seem to be available anymore, and I couldn’t get FreeWRL to work).\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EStraying from the topic\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EHow to add 90° rotation viewpoints to the .wrl file:\u003C\/p\u003E  \u003Cp\u003EViewpoint {    \u003Cbr \/\u003E\u0026#160; position 0 0 360\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; # Position we view from in x, y, z; adjust the distance based on the size of the plot.     \u003Cbr \/\u003E\u0026#160; orientation 0 1 0 0\u0026#160;\u0026#160; # Axis in x, y, z, and rotation in radians; 0 1 0 is the vertical (y) axis.     \u003Cbr \/\u003E\u0026#160; description \u0026quot;L*\u0026quot;     \u003Cbr \/\u003E\u0026#160; jump FALSE     \u003Cbr \/\u003E}     \u003Cbr \/\u003EViewpoint {     \u003Cbr \/\u003E\u0026#160; position 360 0 0     \u003Cbr \/\u003E\u0026#160; orientation 0 1 0 1.57     \u003Cbr \/\u003E\u0026#160; description \u0026quot;a*\u0026quot;     \u003Cbr \/\u003E\u0026#160; jump FALSE     \u003Cbr \/\u003E}     \u003Cbr \/\u003EViewpoint {     \u003Cbr \/\u003E\u0026#160; position 0 0 -360     \u003Cbr \/\u003E\u0026#160; orientation 0 1 0 3.14     \u003Cbr \/\u003E\u0026#160; description \u0026quot;-L*\u0026quot;     \u003Cbr \/\u003E\u0026#160; jump FALSE     \u003Cbr \/\u003E}     \u003Cbr \/\u003EViewpoint {     \u003Cbr \/\u003E\u0026#160; position -360 0 0     \u003Cbr \/\u003E\u0026#160; orientation 0 1 0 4.71     \u003Cbr \/\u003E\u0026#160; description \u0026quot;-a*\u0026quot;     \u003Cbr \/\u003E\u0026#160; jump FALSE     \u003Cbr \/\u003E}     \u003Cbr \/\u003EViewpoint {     \u003Cbr \/\u003E\u0026#160; position 0 0 360     \u003Cbr \/\u003E\u0026#160; orientation 0 1 0 0     \u003Cbr \/\u003E\u0026#160; description \u0026quot;L*\u0026quot;     \u003Cbr \/\u003E\u0026#160; jump FALSE     \u003Cbr \/\u003E} \u003C\/p\u003E  \u003Cp\u003ESee it at \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/ThreeGamuts.htm\"\u003EThreeGamuts.htm\u003C\/a\u003E. \u003C\/p\u003E  \u003Cp\u003EHow to make a black wire mesh:\u003C\/p\u003E  \u003Cp\u003Eappearance Appearance {    \u003Cbr \/\u003E\u0026#160; material Material {     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; transparency 0.500000\u0026#160;\u0026#160; # adjust as desired     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; ambientIntensity 0.3     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; shininess 0.5     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; emissiveColor 0.000000 0.000000 0.000000\u0026#160;\u0026#160; # black     \u003Cbr \/\u003E\u0026#160; }     \u003Cbr \/\u003E} \u003C\/p\u003E  \u003Cp\u003ESee it at \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/RussellRGB.htm\"\u003ERussellRGB.htm\u003C\/a\u003E. \u003Cimg alt=\"scaled\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/ThreeGamutsScaled.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EWhy do these gamuts look like flat biscuits?\u0026#160; Because the a* and b* axes are 255 units wide, but the L* axis only goes from 0 to 100.\u0026#160; To make the axes equal, one may scale the first two members of each of these point positions, for every gamut in the .wrl file, by 100\/255 (and then adjust the viewpoint position accordingly):\u003C\/p\u003E  \u003Cp\u003Ecoord Coordinate {    \u003Cbr \/\u003E\u0026#160; point [\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160;\u0026#160; # Verticy coordinates     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; -2.755150 116.556000 41.480600,     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; 1.140780 113.852000 39.407000,     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; 10.895100 107.094000 34.211500,     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; . . . \u003C\/p\u003E  \u003Cp\u003EThis actually makes them look too enlongated the other way; maybe an intermediate scale factor would look better.\u0026#160; I will leave this one to you.\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EResources\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/downloads\/D55_1.0.sp\"\u003ED55_1.0.sp\u003C\/a\u003E, a custom spectrum file for specifying the D55 (5500°K) illuminant when using \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E to create a printer profile.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/downloads\/ProPhoto2255.icm\"\u003EProPhoto2255 RGB\u003C\/a\u003E, the ProPhoto RGB working color space with gamma set to 2.2 and white point to 5500.\u003C\/p\u003E  \u003Cp\u003EGenerating custom \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/ArgyllColorPatches.htm\"\u003EArgyll Color Patches\u003C\/a\u003E.\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/4126273312020305738\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/rawtherapee-cross-platform-raw-image_20.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/4126273312020305738"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/4126273312020305738"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/rawtherapee-cross-platform-raw-image_20.html","title":"RawTherapee cross-platform raw image processing program: a color-managed Linux workflow (Chapter II)."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh3.ggpht.com\/-isR67yKlQo4\/VOdwSiXFkTI\/AAAAAAAAIKo\/T3fS3ZTnqH0\/s72-c\/rawtherapee%252520-photoprint%2525200.4.2-pre2_thumb%25255B2%25255D.png?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-6809474659560069644"},"published":{"$t":"2015-02-20T08:03:00.001-08:00"},"updated":{"$t":"2015-02-20T09:31:19.862-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"}],"title":{"type":"text","$t":"RawTherapee cross-platform raw image processing program: a color-managed Linux workflow (Chapter I)."},"content":{"type":"html","$t":"\u003Cp\u003EPartly out of curiosity, and partly to help widen the horizon of digital photography, I have worked through a color management workflow entirely in Linux, from raw photo to monitor to print.\u0026#160; It is actually a continuation of my page on \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/BTDZS\/head2head_linux.htm\"\u003Ezone system calibration in linux\u003C\/a\u003E.\u0026#160; I must admit that the results were more a “proof of concept” than an ideal workflow, partly because of available alternatives, and partly because of limitations on my own ability to print in Linux.\u003C\/p\u003E  \u003Cp\u003EOperating system:\u0026#160; \u003Ca href=\"https:\/\/kororaproject.org\/\"\u003EKorora 20\u003C\/a\u003E, 64-bit.\u0026#160; Korora is a Fedora remix that includes third-party and proprietary software that makes it easier to use out-of-the-box than Fedora, while retaining the “bleeding edge,” “state-of-the-art” qualities of the latter.\u0026#160; The applications below were all installed from the repositories, except for TurboPrint which was an .rpm download.\u003C\/p\u003E  \u003Cp\u003EColor management application:\u0026#160; \u003Ca href=\"http:\/\/www.argyllcms.com\/\"\u003EArgyll Color Management System\u003C\/a\u003E 1.6.3, by Graeme Gill.\u0026#160; For Linux, there is no real alternative.\u0026#160; I mainly followed the tutorials on the \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/Scenarios.html\"\u003ETypical usage Scenarios and Examples\u003C\/a\u003E page, together with the documentation for each individual program.\u003C\/p\u003E  \u003Cp\u003ERaw converter\/image editor:\u0026#160; \u003Ca href=\"http:\/\/www.rawtherapee.com\/\"\u003ERawTherapee\u003C\/a\u003E 4.2.74.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh6.ggpht.com\/-oxw4QFLOCGc\/VOdvXjbEgxI\/AAAAAAAAIKQ\/3GP4z-l7UQ0\/s1600-h\/rawtherapee_2-4-1%25255B4%25255D.jpg\"\u003E\u003Cimg style=\"background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px\" title=\"rawtherapee_2-4-1\" border=\"0\" alt=\"rawtherapee_2-4-1\" src=\"http:\/\/lh6.ggpht.com\/-Q--6OV2As8A\/VOdvY4Fvt5I\/AAAAAAAAIKY\/5qyuUvJYAks\/rawtherapee_2-4-1_thumb%25255B2%25255D.jpg?imgmax=800\" width=\"640\" height=\"480\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Ca name='more'\u003E\u003C\/a\u003E  \u003Cp\u003EPrint utilities:\u0026#160; \u003Ca href=\"http:\/\/blackfiveimaging.co.uk\/index.php?article=02Software\/01PhotoPrint\"\u003EPhotoPrint\u003C\/a\u003E 0.4.2 with \u003Ca href=\"http:\/\/gimp-print.sourceforge.net\/\"\u003EGutenprint\u003C\/a\u003E 5.2.9, and the \u003Ca href=\"http:\/\/www.gimp.org\/\"\u003EGNU Image Manipulation Program\u003C\/a\u003E 2.8.14 with \u003Ca href=\"http:\/\/www.turboprint.info\/\"\u003ETurboPrint\u003C\/a\u003E 2.35.\u003C\/p\u003E  \u003Cp\u003ECamera profiling target:\u0026#160; ColorChecker Passport.\u003C\/p\u003E  \u003Cp align=\"center\"\u003EColor measuring instrument:\u0026#160; i1Pro spectrophotometer.\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Cimg alt=\"Korora\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/korora.png\" \/\u003E     \u003Cbr \/\u003E\u003Cimg alt=\"Argyll\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/ArgyllCMSLogo.png\" \/\u003E     \u003Cbr \/\u003E\u003Cimg alt=\"ColorChecker\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/ccpp.png\" \/\u003E     \u003Cbr \/\u003E\u003Cimg alt=\"i1Pro\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/i1Pro.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EThe following are some personal observations about the profiling process.\u0026#160; The names of the Argyll programs in the command lines are links to each program’s excellent documentation.\u0026#160; Please see these and the \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/Scenarios.html\"\u003ETypical usage Scenarios and Examples\u003C\/a\u003E page for detailed information.\u003C\/p\u003E  \u003Cp\u003E\u003Ca name=\"camera\"\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003ECamera profiling.\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EThe creation of a camera .icc profile for raw images requires photographing a suitable target, rasterizing the image, measuring it with \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/scanin.html\"\u003Escanin\u003C\/a\u003E, and creating the profile with \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E.\u003C\/p\u003E  \u003Cp\u003EUsing as I do a ColorChecker Passport, I use a spotmeter to place the light gray patch at the bottom left on zone VII, or two stops above the meter reading.\u0026#160; This keeps it from blowing to white while allowing plenty of latitude for the rest of the target.\u0026#160; My favorite profile lighting is overcast skies near midday.\u0026#160; .icc profiles, which are created from rasterized images, are more sensitive to color temperature and other lighting characteristics than .dcp profiles created directly from raw images.\u003C\/p\u003E  \u003Cp\u003ETwo files provided by Argyll, ColorChecker.cht and ColorChecker.cie (found in \/usr\/share\/color\/argyll\/ref), contain the L*a*b* values and other information about the target patches that the program needs to create the profile.\u0026#160; The color values are also provided by \u003Ca href=\"http:\/\/xritephoto.com\/ph_product_overview.aspx?ID=1257\u0026amp;Action=Support\u0026amp;SupportID=5159\"\u003EX-Rite\u003C\/a\u003E.\u0026#160; Note that, based on the sum of the squares of the a* and b* values, the most neutral patch is the fourth gray patch from the left, number 22 in the X-Rite illustration, or D4 in the diagnostic image below.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.rawtherapee.com\/\"\u003ERawTherapee\u003C\/a\u003E makes it relatively easy to process the raw image for measurement.\u0026#160; Open the raw image and choose the (Neutral) processing profile.\u0026#160; On the Color tab, use the Spot WB tool on patch 22 to set the white balance.\u0026#160; Then, under Color Management, press the “Save Reference Image for Profiling” button.\u0026#160; In theory, that is all we have to do to create the measurement image; RawTherapee will save a linear .tif without any color management.\u0026#160; Input and output profiles are both ignored; neither choice affects the image, and there is no embedded profile.\u0026#160; In reality, it may help to straighten and crop the image.\u0026#160; Very tight cropping is not required, and Argyll is able to compensate for perspective distortion.\u0026#160; The main consideration is being able to correct the image in 16-bit without any color management.\u0026#160; RawTherapee can be used to do this; open the processed .tif, set the (Neutral) profile if necesary, and use the straighten and crop tools on the main panel.\u0026#160; Then under Color Management, make sure no Input Profile is specified (not “No profile”; “Use embedded, if possible” should work), set Output Profile to “No ICM: sRGB Output,” make sure that Output gamma is set to “default,” and save the image as something like target.tif.\u0026#160; Another editor that can do this is \u003Ca href=\"http:\/\/www.kornelix.com\/fotoxx.html\"\u003EFotoxx\u003C\/a\u003E.\u003C\/p\u003E  \u003Cp\u003ENow we get to use Argyll.\u0026#160; Copy ColorChecker.cht and ColorChecker.cie into the working folder with target.tif to make things easier.\u0026#160; First we run scanin:\u003C\/p\u003E  \u003Cp\u003Ecd \/home\/russell\/Desktop\/ArgyllCMS\u0026#160; \u003Ci\u003E[your working folder here]\u003C\/i\u003E     \u003Cbr \/\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/scanin.html\"\u003Escanin\u003C\/a\u003E -v -p -a -G 1.0 -dipn target.tif ColorChecker.cht ColorChecker.cie diag.tif \u003C\/p\u003E  \u003Cp\u003EI won’t bore you with the meanings of all these, they are explained in the documentation.\u0026#160; Of note, -G 1.0 indicates that the gamma encoding of the image is 1.0, thanks to RawTherapee.\u0026#160; diag.tif is the name of the diagnostic output image that reality-checks the patch recognition.\u0026#160; target.ti3 which contains the measured patch values is also created in the working directory.\u003C\/p\u003E  \u003Cp\u003EThe linear gamma measurement target, and the diagnostic output.\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"target\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/target.jpg\" \/\u003E \u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"diagnostic\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/diag.jpg\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EIf the target was measured successfully, we now run colprof to create the .icc profile:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E -v -A \u0026quot;Nikon\u0026quot; -M \u0026quot;D800E\u0026quot; -D \u0026quot;Nikon D800E overcast\u0026quot; -qh -am -nc -u target \u003C\/p\u003E  \u003Cp\u003ELife is short, and art is long; go for high quality, -qh.\u0026#160; (Per the documenation, -qu, ultra, is a test; don’t use it.)\u0026#160; The algorithm switch needs some explanation; I used -am (matrix) as it is recommended for linear, raw images, and it seems to be the best.\u0026#160; The ColorChecker Passport software creates .dcp profiles with color lookup tables (cLUT’s); more about that later.\u0026#160; For now, note that 24 patches is evidently not enough for Argyll’s tables; images processed with cLUT profiles tend to have blown, pink highlights, like the first one in the second row below (note the chrome on top and the right side).\u0026#160; Using gamma and shaper curves appeared to make no difference.\u0026#160; I did not attempt to scale or otherwise manipulate the target or profile to adjust the white level; the -u swich is said to be used for targets whose white point is not expected to be media white, and allows for further adjustment of the processed image.\u003C\/p\u003E  \u003Cp\u003EAs you can see below, images processed with .icc and .dcp profiles are reasonably similar, especially compared to the image without any color management; but they are not as similar as the images taken with different cameras and processed with different raw processors and operating systems using .dcp profiles on the \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/BTDZS\/head2head_linux.htm\"\u003Ezone system calibration\u003C\/a\u003E pages.\u0026#160; In fairness, a target with more patches may have helped; but note that the .dcp profiles were made from the same 24-patch target.\u0026#160; (All four of the images below were white balanced on the spot below the middle of the word California; there was no other manipulation.)\u0026#160; My assessment:\u0026#160; if you need .icc camera profiles for your application, or can’t or won’t use Wine for whatever reason, Argyll in all likelihood will meet your needs.\u0026#160; This is especially true if you are using controlled lighting.\u0026#160; But for real-world photography, I would recommend using the ColorChecker Passport software in Wine as described on the calibration page above, as I believe that .dcp technology is superior when the light is a moving target.\u003C\/p\u003E  \u003Cp\u003EImage processed with the Argyll .icc matrix profile,    \u003Cbr \/\u003Eand one with a ColorChecker Passport .dcp profile for comparison.\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"icc profile\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/_DSC0197ICC.jpg\" \/\u003E \u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"dcp profile\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/_DSC0197DCP.jpg\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EImage processed with an XYZ cLUT .icc profile,    \u003Cbr \/\u003Eand one processed with no color management.\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"XYZ profile\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/_DSC0197XYZ.jpg\" \/\u003E \u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" alt=\"no profile\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/_DSC0197none.jpg\" \/\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Ca name=\"monitor\"\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EMonitor profiling.\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EProfiling output devices is a two-step process:\u0026#160; calibration, then characterization.\u0026#160; Calibration is like setting the hour and minute hands of a watch to NIST atomic clock time; characterization is like then observing, “it’s running about 8 seconds fast.”\u0026#160; For a monitor, one first uses the controls to get the brightness and color balance into the ballpark.\u0026#160; Then the profiling harware and software measure the output and further calibrate the system, then create an .icc color profile which characterizes the results.\u003C\/p\u003E  \u003Cp\u003EProfiling the monitor with Argyll appears to be successful.\u0026#160; I profiled the Dell E2014H that I use for everyday browsing, and the result seemed to be a little better than the one I got using \u003Ca href=\"http:\/\/www.xrite.com\/i1profiler-i1publish\"\u003Ei1Profiler\u003C\/a\u003E last year, which had undoubtedly suffered from drift.\u0026#160; If I had been more successful at printing, I would have profiled the U2410; but as it is, I let it go for now.\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003ECreating a profile in one step\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EOne first runs \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispcal.html\"\u003Edispcal\u003C\/a\u003E to see if the measurement device is detected:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispcal.html\"\u003Edispcal\u003C\/a\u003E -v -R \u003C\/p\u003E  \u003Cp\u003EI tried using my old Monaco Optix DTP94 instrument; it was initially recognized, but then all I got was, “Instrument Access Failed - Not expected instrument model.”\u0026#160; [Graeme Gill says that this may be due to known bugs in Argyll version 1.6.3 that should be fixed in the next release.]\u0026#160; I subsequently used the i1 Pro without any major problems; one time, in the middle of a measurement, I got, “Sample read failed due to communication problem.\u0026#160; Hit Esc or Q to give up, any other key to retry:”, and it continued on.\u0026#160; The -J switch is unnecessary as the software automatically requires calibration of the instrument before each use.\u0026#160; The -y display type switch was ignored.\u003C\/p\u003E  \u003Cp\u003EBegin by turning off any existing monitor profile:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispwin.html\"\u003Edispwin\u003C\/a\u003E -c \u003C\/p\u003E  \u003Cp\u003EThen set your monitor’s controls to the factory defaults.\u0026#160; For me, that means brightness and contrast at 75, and red, green, and blue at 100.\u0026#160; This seemed too bright so I turned the colors down to 75.\u0026#160; On the U2410, the defaults are all 50.\u0026#160; With an LCD monitor, you will probably not adjust the contrast any further.\u003C\/p\u003E  \u003Cp\u003EFrom here, one may take the quick single-step route, or the more complex multi-step one.\u0026#160; If all you want is a simple profile for web browsing and such, just run the following:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispcal.html\"\u003Edispcal\u003C\/a\u003E -v -ql -t 6500 -b 100 -gs -o \/home\/russell\/Desktop\/ArgyllCMS \u003C\/p\u003E  \u003Cp\u003ENote, Argyll’s monitor measurement process is rather on the slow side; only use -qh if you have a real need and time to wait.\u0026#160; (And adjust your computer’s power managment policy to keep it from shutting down.)\u0026#160; The “standard” for display profiling is 6500°K and 120 cd\/m2; I believe these are too blue and bright as noted below.\u0026#160; -gs sets the gamma to that of the sRGB profile, so web graphics will display as expected.\u0026#160; And -o tells Argyll to go ahead and create the .icc profile without further ado.\u003C\/p\u003E  \u003Cp\u003EFor a printing workflow, I think 5500°K and 80 cd\/m2 are more useful; and one probably would not want to use sRGB gamma as it gives a little boost to the shadows, which your printer will probably not do.\u0026#160; Few people are likely to view your prints under 6500°K lighting; manufactures use this because it looks attractive in bright showrooms, or maybe because it makes PowerPoint presentations look good.\u0026#160; 5500°K is just about the most neutral “white,” and I for one have adopted it as a standard for monitor, \u003Ca href=\"http:\/\/www.russellcottrell.com\/photo\/RussellRGB.htm#ProPhoto\"\u003Eworking space\u003C\/a\u003E, and print.\u0026#160; A rather dim 80 cd\/m2 brightness is often disparaged as being appropriate for working in a cave; but if your prints always seem too dark, I will propose that it is your monitor that is too bright; turn it down.\u0026#160; After you get used to it, the images that you make for printing may look terrible online, especially if you are using a wide-gamut monitor; but that is o.k. because those are separate workflows.\u0026#160; So for a better print workflow profile, use:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispcal.html\"\u003Edispcal\u003C\/a\u003E -v -qm -t 5500 -b 80 -g 2.2 -o \/home\/russell\/Desktop\/ArgyllCMS \u003C\/p\u003E  \u003Cp\u003EAfter calibrating and positioning the measurement device, one gets the following, along with some measurements:\u003C\/p\u003E  \u003Cp\u003EDisplay adjustment menu:    \u003Cbr \/\u003EPress 1 .. 7     \u003Cbr \/\u003E1) Black level (CRT: Offset\/Brightness)     \u003Cbr \/\u003E2) White point (Color temperature, R,G,B, Gain\/Contrast)     \u003Cbr \/\u003E3) White level (CRT: Gain\/Contrast, LCD: Brightness\/Backlight)     \u003Cbr \/\u003E4) Black point (R,G,B, Offset\/Brightness)     \u003Cbr \/\u003E5) Check all     \u003Cbr \/\u003E6) Measure and set ambient for viewing condition adjustment     \u003Cbr \/\u003E7) Continue on to calibration     \u003Cbr \/\u003E8) Exit \u003C\/p\u003E  \u003Cp\u003ESteps 2 and 3 are what worked for me.\u0026#160; I think it would make more sense to set the brightness first, then the white point; but I did the steps in order, then repeated them, and it all seemed to work.\u0026#160; First, we set the white point (press 2):\u003C\/p\u003E  \u003Cp\u003EAdjust R,G \u0026amp; B gain to get target x,y. Press space when done.    \u003Cbr \/\u003ETarget Br 80.00, x 0.3325 , y 0.3475     \u003Cbr \/\u003E\/ Current Br 80.23, x 0.3311+, y 0.3464+ DE 0.8 R+ G+ B-- \u003C\/p\u003E  \u003Cp\u003EAdjust the RGB controls to get x and y in the ballpark, and minimize DE (delta E).\u0026#160; The plus and minus signs after R, G, and B in the output above tell you what to do; in this case you would start by lowering the blue control.\u0026#160; They will never be perfect, just do your best.\u0026#160; Remember, there’s a characterization step after this.\u003C\/p\u003E  \u003Cp\u003ENext, set the white level (brightness; press 3):\u003C\/p\u003E  \u003Cp\u003EAdjust CRT Contrast or LCD Brightness to get target level. Press space when done.    \u003Cbr \/\u003ETarget 80.00     \u003Cbr \/\u003E\\ Current 80.65 - \u003C\/p\u003E  \u003Cp\u003EOnce again, follow the plus or minus sign to raise or lower brightness to as close to the the target value as it gets.\u003C\/p\u003E  \u003Cp\u003EWhen you are finished making the adjustments, press 7 to continue.\u0026#160; If you have used the -o switch in the command, you will get an .icc monitor profile, along with a .cal calibration file for use in subsequent steps, if any.\u003C\/p\u003E  \u003Cp\u003ENow what?\u0026#160; First, remember the brightness, contrast, red, green, and blue settings that you found, as proper working of the profile depends on them.\u0026#160; Then, copy the profile to a folder with public access, such as \/home\/russell\/.local\/share\/color\/icc.\u0026#160; Activate the profile:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispwin.html\"\u003Edispwin\u003C\/a\u003E \/home\/russell\/.local\/share\/color\/icc\/monitor.icc \u003C\/p\u003E  \u003Cp\u003EAs long as the profile is in a location with public access, you can use this command to create a startup application entry that runs dispwin and sets the profile automatically.\u0026#160; The -I switch, which is intended to install the profile as the system default, did not work for me.\u003C\/p\u003E  \u003Cp\u003ETo inactivate the profile for comparison:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispwin.html\"\u003Edispwin\u003C\/a\u003E -c \u003C\/p\u003E  \u003Cp\u003ETo measure the final result:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispcal.html\"\u003Edispcal\u003C\/a\u003E -v -r \u003C\/p\u003E  \u003Cp\u003ECurrent calibration response:    \u003Cbr \/\u003EBlack level = 0.2316 cd\/m^2     \u003Cbr \/\u003E50% level = 19.13 cd\/m^2     \u003Cbr \/\u003EWhite level = 84.20 cd\/m^2     \u003Cbr \/\u003EAprox. gamma = 2.14     \u003Cbr \/\u003EContrast ratio = 364:1     \u003Cbr \/\u003EWhite chromaticity coordinates 0.3300, 0.3449     \u003Cbr \/\u003EWhite Correlated Color Temperature = 5608K, DE 2K to locus = 4.5     \u003Cbr \/\u003EWhite Correlated Daylight Temperature = 5609K, DE 2K to locus = 0.3     \u003Cbr \/\u003EWhite Visual Color Temperature = 5496K, DE 2K to locus = 4.3     \u003Cbr \/\u003EWhite Visual Daylight Temperature = 5616K, DE 2K to locus = 0.3 \u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EMore advanced profiling using multiple steps\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003ETo exercise more control over the process, one may use \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/targen.html\"\u003Etargen\u003C\/a\u003E to create a set of custom test values, based on an existing profile if possible (such as a simple one created in the previous step):\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/targen.html\"\u003Etargen\u003C\/a\u003E -v -d3 -G -g33 -f300 -c monitor.icc monitor \u003C\/p\u003E  \u003Cp\u003EThere is a touchy-feely aspect to patch generation.\u0026#160; You may want to optimize your display for black-and-white images, for example.\u0026#160; -g33 includes 33 evenly-spaced gray steps, and -f300 brings the total to 300 by adding full spread patches.\u0026#160; (Note that the brief description of -f in the documentation says, “Add iterative \u0026amp; adaptive full spread patches to total,” which is a little ambiguous; the complete documentation correctly indicates that, “full spread patches will be added to bring the total number of patches including those generated using the -e, -s, -g -m and -b flags up to the specified number.”)\u0026#160; Various options may be chosen for the distribution of the patches, including spacing, and emphasis on the neutral axis and shadows.\u0026#160; The result is a .ti1 color patch file which is read, together with the .cal calibration file generated in the previous step, with \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispread.html\"\u003Edispread\u003C\/a\u003E:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/dispread.html\"\u003Edispread\u003C\/a\u003E -v -k monitor.cal monitor \u003C\/p\u003E  \u003Cp\u003EThis creates a .ti3 target data file.\u0026#160; Now we use \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E as we did when creating the camera profile:\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E -v -D \u0026quot;Monitor\u0026quot; -qh -S ProPhoto.icm -cpp -dmt monitor \u003C\/p\u003E  \u003Cp\u003EThis will create a large, cLUT-based profile, which I have come to appreciate from using i1Profiler.\u0026#160; The -S switch specifies a color profile for gamut mapping, and the -c and -d switches specify the associated input and output viewing conditions.\u0026#160; I confess that I am unclear on the concept of why pre-computed gamut mapping is required when using an active color management module (CMM).\u0026#160; This is discussed more fully on the \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/iccgamutmapping.html\"\u003EGamut Mapping\u003C\/a\u003E page.\u0026#160; I guess the ICC Specification ICC.1:2001-12, File Format for Color Profiles (Version 4.0.0), is trying to cover all the bases:\u0026#160; “The intent of requiring tags with profiles is to provide a common base level of functionality.\u0026#160; If a customCMM is not present, then the default CMM will have enough information to perform the requested color transformations.”\u0026#160; I used ProPhoto.icm as the gamut mapping profile because it is big, and it or a variation of it is my usual working space.\u0026#160; The resulting contrast ratio was 428:1, compared to 382:1 when using a printer profile.\u003C\/p\u003E  \u003Cp\u003E\u003Ca name=\"printer\"\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EPrinter profiling\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EPrinter profiling similarly involves both calibration and characterization.\u0026#160; Some printers incorporate a linearization utility that standardizes the output.\u0026#160; Argyll can do this with \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/printcal.html\"\u003Eprintcal\u003C\/a\u003E, which I did not try.\u0026#160; The remainder of the calibration process involves the selection of paper and printer settings.\u003C\/p\u003E  \u003Cp\u003EI hate to say it, but printing in Linux is still rather in its infancy, and resources are limited.\u0026#160; I began by using the Gutenprint drivers that came with Korora; unfortunately, I only own one printer that can print with it:\u0026#160; a small four-color Canon iP3000.\u0026#160; And I discovered during this process that the only supported print mode is Plain Paper.\u0026#160; I was unable to get the Pro9500 Mark II to work at all.\u0026#160; (I didn’t try the iPF6350.)\u0026#160; So I made the best of it, with a modest degree of success.\u0026#160; (I then had better luck, along with some more problems, with TurboPrint as described below.)\u003C\/p\u003E  \u003Cp\u003EFirst, we need a patch set.\u0026#160; The \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/targen.html\"\u003Etargen\u003C\/a\u003E page includes a list of measurement devices and the number of patches that they use with different sizes of paper.\u0026#160; For the i1Pro, that’s 462 patches for an 8.5×11.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/targen.html\"\u003Etargen\u003C\/a\u003E -v -d2 -G -e2 -B2 -s16 -g16 -f462 iP3000_SemiGloss \u003C\/p\u003E  \u003Cp\u003EUse your feelings to decide how many patches of what kind to choose; the above include 2 white and 2 black, ramps of 16 steps of all three channels plus gray, along with full spread patches to total 462 for one sheet.\u0026#160; (If this were intended to be a high-quality profile, we would undoubtedly use several sheets.)\u0026#160; Once again, this generates a .ti1 color patch file.\u0026#160; Now we need to format these patches into an image for printing.\u0026#160; Argyll is something of a marvel and has all this built in: \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/printtarg.html\"\u003Eprinttarg\u003C\/a\u003E -v -ii1 -T 300 -C -p Letter iP3000_SemiGloss \u003C\/p\u003E  \u003Cp\u003EThe -T tag produces .tif output rather than PostScript; I used this as I virtually always print .tifs.\u0026#160; A .ti2 file is also generated that contains the color and layout information for the patch set; it is important to keep track of it for reading the patches.\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EGutenprint\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003ENow comes the first tricky part:\u0026#160; we must print the patch set using parameters selected to optimize the print quality, but without applying a profile or any other color management.\u0026#160; I used \u003Ca href=\"http:\/\/blackfiveimaging.co.uk\/index.php?article=02Software\/01PhotoPrint\"\u003EPhotoPrint\u003C\/a\u003E for this as it is 16-bit and fully color-managed.\u0026#160; It feels like a work in progress, and will shut down without warning if you do anything wrong, but it seems to get the job done.\u0026#160; Below are the settings that I used.\u0026#160; The most important ones are outlined in red; be sure that no profile is assigned to the image or specified for printing, and tell the printer not to do any other color correction.\u0026#160; Also, in the menu, set Layout to Manual Size.\u0026#160; The rest of the settings represent calibration, and must be used exactly as-is whenever this profile is used.\u0026#160; Having to use the Plain Paper setting is very unfortunate; it results in a fast, dithered output that is not much to look at.\u0026#160; Any other setting results in a greenish-and-white, distorted image that implies that the other modes are just not supported.\u0026#160; Using the 600×600 DPI PHOTO HIGH resolution with the other settings maximizes the quality, to the extent that it is able.\u0026#160; And even though this printer’s ink type is not CcMmYK, that is the only choice with this resolution setting.\u0026#160; (We are winging it here . . . .)\u003C\/p\u003E  \u003Cp\u003EPhotoPrint settings for printing the profiling target:\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Cimg alt=\"custom profile\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-Set%20Custom%20Profile....png\" \/\u003E \u003Cimg alt=\"color management\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-Colour%20Management.png\" \/\u003E     \u003Cbr \/\u003E\u003Cimg alt=\"setup\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-Printer%20Setup.png\" \/\u003E \u003Cimg alt=\"setup\" src=\"http:\/\/www.russellcottrell.com\/photo\/images\/Screenshot-Printer%20Setup-1.png\" \/\u003E\u003C\/p\u003E  \u003Cp\u003ELet the print dry, preferably overnight, due to the possibility of dry-down.\u0026#160; Then comes the second tricky part:\u0026#160; reading the patches.\u0026#160; The process is fairly straightforward, except that in my case, the unit does not beep as it does using i1Profiler.\u0026#160; So the procedure is:\u0026#160; press the button, wait a second for an imaginary beep, slide the unit, release the button, then look at the terminal output to make sure that the row was read; if it was not, press the spacebar and read the row again.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/chartread.html\"\u003Echartread\u003C\/a\u003E -v iP3000_SemiGloss \u003C\/p\u003E  \u003Cp\u003EReady to read strip pass C    \u003Cbr \/\u003EPress 'f' to move forward, 'b' to move back, 'n' for next unread,     \u003Cbr \/\u003E'd' when done, Esc or 'q' to quit without saving.     \u003Cbr \/\u003ETrigger instrument switch or any other key to start:     \u003Cbr \/\u003EStrip read failed due to misread (Not enough patches)     \u003Cbr \/\u003EHit Esc to give up, any other key to retry: \u003C\/p\u003E  \u003Cp\u003EThe measurements are stored in a .ti3 file.\u0026#160; Now we again use \u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E to create the profile.\u0026#160; As before, I used ProPhoto.icm as the gamut mapping profile; see the note about it at the end of the monitor section above.\u0026#160; [Graeme Gill disagrees here, and recommends creating a source gamut that actually reflects the gamut of the working images.\u0026#160; “The best way to do this is to create a source gamut from each image or a set of images using tiffgamut. Using a device link workflow would probably be faster for this approach, since it avoids creating a lot of unnecessary tables each time. A simpler alternative is to choose more realistic source gamut such as AdobeRGB or sRGB, even if the storage format uses ProPhoto.”]\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.argyllcms.com\/doc\/colprof.html\"\u003Ecolprof\u003C\/a\u003E -v -D \u0026quot;iP3000 Canon Semi-Gloss\u0026quot; -qh -i \u0026quot;D55_1.0.sp\u0026quot; -S ProPhoto.icm -cmt -dpp iP3000_SemiGloss \u003C\/p\u003E    \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/6809474659560069644\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/rawtherapee-cross-platform-raw-image.html#comment-form","title":"1 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/6809474659560069644"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/6809474659560069644"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/rawtherapee-cross-platform-raw-image.html","title":"RawTherapee cross-platform raw image processing program: a color-managed Linux workflow (Chapter I)."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh6.ggpht.com\/-Q--6OV2As8A\/VOdvY4Fvt5I\/AAAAAAAAIKY\/5qyuUvJYAks\/s72-c\/rawtherapee_2-4-1_thumb%25255B2%25255D.jpg?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"1"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-2455833011676510341"},"published":{"$t":"2015-02-15T17:35:00.001-08:00"},"updated":{"$t":"2015-02-15T17:36:20.901-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Guides and Tutorials"}],"title":{"type":"text","$t":"RawTherapee is a cross-platform raw image processing program"},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/www.google.com.ar\/url?sa=t\u0026amp;rct=j\u0026amp;q=\u0026amp;esrc=s\u0026amp;source=web\u0026amp;cd=1\u0026amp;cad=rja\u0026amp;uact=8\u0026amp;ved=0CB4QFjAA\u0026amp;url=http%3A%2F%2Frawtherapee.com%2F\u0026amp;ei=nMPcVPf7He_dsAThvIKAAw\u0026amp;usg=AFQjCNHgjZbQ4M2aG6DySjeL3f1slq0Wug\u0026amp;bvm=bv.85761416,d.cWc\" target=\"_blank\"\u003ERawTherapee\u003C\/a\u003E\u003C\/strong\u003E is a cross-platform raw image processing program, released under the GNU General Public License Version 3. \u003C\/p\u003E  \u003Cp\u003EIt was originally written by Gábor Horváth of Budapest, Hungary, before being re-licensed as free and open-source software in January 2010. \u003C\/p\u003E  \u003Cp\u003EIt is written in C++, using a GTK+ front-end and a patched version of dcraw for reading raw files. It is notable for the advanced control it gives the user over the demosaicing and developing process. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EThe name used to stand for \u0026quot;The Experimental Raw Photo Editor\u0026quot;;\u003C\/strong\u003E however that acronym has been dropped, and RawTherapee is now a full name in itself.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ERawTherapee \u003C\/strong\u003Ecomprises a subset of image editing operations specifically aimed at non-destructive raw photo post-production and is primarily focused on improving a photographer's workflow by facilitating the handling of large numbers of images.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh4.ggpht.com\/-QBlya0unrbc\/VOFJRsU0NsI\/AAAAAAAAIJ4\/VxQaiosEzdM\/s1600-h\/raw_therapee%25255B5%25255D.jpg\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"raw_therapee\" border=\"0\" alt=\"raw_therapee\" src=\"http:\/\/lh6.ggpht.com\/-p1aQJHJSQio\/VOFJUcjH6WI\/AAAAAAAAIKA\/Ljlo1-rFBzg\/raw_therapee_thumb%25255B3%25255D.jpg?imgmax=800\" width=\"640\" height=\"347\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E \u003Ca name='more'\u003E\u003C\/a\u003E  \u003Cp\u003E\u003Cstrong\u003ERawTherapee\u003C\/strong\u003E involves the concept of non-destructive editing, similar to that of some other raw conversion software. Adjustments made by the user are immediately reflected in the preview image, though they are not physically applied to the opened image but the parameters are saved to a separate sidecar file. These adjustments are then applied during the export process.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EInput file formats.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003ERawTherapee can work with both raw files from digital cameras and usual images. It also supports high dynamic range, 16\/24\/32-bit raw DNG images.\u003C\/p\u003E  \u003Cp\u003EWhile reading raw files it relies on the dcraw code, but only for parsing formats, not for processing. Thus, RawTherapee supports all the formats supported by dcraw.\u003C\/p\u003E  \u003Cp\u003EAdditionally, RawTherapee supports the following image formats:\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; JPEG    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; TIFF     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; PNG\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EUser interface.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003ERawTherapee provides the user with a file browser, a queue, and an image editing tab.\u003C\/p\u003E  \u003Cp\u003EThe file browser shows photo thumbnails along with a caption of the shooting information metadata. The browser includes 5-star rating, flagging, and an Exif-based filter. It can be used to apply a profile, or parts of a profile, to a whole selection of photos in one operation.\u003C\/p\u003E  \u003Cp\u003EThe queue tab allows one to put exporting photos on hold until done adjusting them in the Editor, so that CPU is fully available to the user while tweaking a photo, instead of processing photos while the user is trying to tweak new ones which could result in a sluggish interface. Alternatively, it can be used to process photos alongside tweaking new ones, if one has a CPU capable of handling the workload.\u003C\/p\u003E  \u003Cp\u003EThe Editor tab is where the user tweaks photos. While the image is opened for editing, the user is provided with a preview window with pan and zoom capabilities. A color histogram is also present offering linear and logarithmic scales, and separate R, G, B and L channels. All adjustments are reflected in the history queue and the user can revert any of the changes at any time. There is also the possibility of taking multiple snapshots of the history queue, allowing for various versions of the image being shown. These snapshots are not written to the sidecar file and are subsequently lost once the photo has been closed, however work is underway on migrating the PP3 sidecar system to XMP which already supports storing snapshots.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EAdjustment tools and processing.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; Demosaicing. User can choose from AMaZE, IGV, LLMSE, EAHD, HPHD, VNG4, DCB, AHD, fast and bilinear algorithms. Latest 4.1 development versions also handle Fujifilm X-Trans files.    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Processing profiles support with the ability to load, save and copy profiles between images.     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Exposure control allowing manipulation of exposure compensation, brightness, highlight recovery, shadow recovery, brightness, contrast and saturation.     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Advanced highlight reconstruction algorithms and shadow\/highlight controls.     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; RGB and Lab curves     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Various methods of sharpening     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Various methods of noise reduction     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Detail recovery     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; White balance (presets, color temperature, spot white balance and auto white balance)     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Channel mixer     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Color boost and vibrance (saturation control with the option of preserving natural skin tones)     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Hue, saturation and value adjustments using curves     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Tone mapping using edge-preserving decomposition     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; ICC color profiles (input, working and output)     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; DCP color profiles (input)     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Adobe Lens Correction Profiles (LCP)     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Crop     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Resize     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Rotation with visual straightening tool     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Distortion correction     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Perspective adjustment     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Manual and automatic chromatic aberration correction     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Vignetting correction with adjustable center offset     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Dark frame subtraction     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Flat field removal (hue shifts, dust removal, vignetting correction)     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Hot and dead pixel filter     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Metadata (Exif and IPTC) editor     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; Processing queue\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EOutput formats.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EOutput format can be selected from:\u003C\/p\u003E  \u003Cp\u003E\u0026#160;\u0026#160;\u0026#160; TIFF (8-bit, 16-bit and 32-bit)    \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; JPEG (8-bit)     \u003Cbr \/\u003E\u0026#160;\u0026#160;\u0026#160; PNG (8-bit and 16-bit)\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/2455833011676510341\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/rawtherapee-is-cross-platform-raw-image.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/2455833011676510341"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/2455833011676510341"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/rawtherapee-is-cross-platform-raw-image.html","title":"RawTherapee is a cross-platform raw image processing program"}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh6.ggpht.com\/-p1aQJHJSQio\/VOFJUcjH6WI\/AAAAAAAAIKA\/Ljlo1-rFBzg\/s72-c\/raw_therapee_thumb%25255B3%25255D.jpg?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-2054549824044559918"},"published":{"$t":"2015-02-15T10:16:00.001-08:00"},"updated":{"$t":"2015-02-15T10:21:00.043-08:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Debian"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Repository"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Software Packages"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Utility"}],"title":{"type":"text","$t":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: user interface."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003EAnimations and visual effects are nowadays used to enhance nearly every form of multimedia\u003C\/strong\u003E, including video games. These are created by combining multiple images and effects, with an abundance of applications at your disposal. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/www.aseprite.org\/\" target=\"_blank\"\u003EAseprite\u003C\/a\u003E\u003C\/strong\u003E is one of them and offers a different approach on image editing and creating short animations.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EIntuitive design makes it easy to use.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EIf you're nostalgic about the past era of pixel graphics and effects, you might just find this to be a suitable environment. \u003C\/p\u003E  \u003Cp\u003EThis is not only because of the application's aim to create such sprites, but the interface is fully designed this way as well. Although you get the impression of an old video game, with icons and tools being a little difficult to identify, accommodation is no problem at all.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EClever file support and drawing tools.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThe result is either an enhanced picture or short animation to use in your project, but until you get there some effort needs to be invested. \u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh5.ggpht.com\/-xA7fUX30u2M\/VODiWoWGfpI\/AAAAAAAAIJg\/UKDF2GMhCbw\/s1600-h\/aseprite%252520logo%25255B8%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"aseprite logo\" border=\"0\" alt=\"aseprite logo\" src=\"http:\/\/lh4.ggpht.com\/-jergkoYbh-M\/VODiaGmbyFI\/AAAAAAAAIJo\/AWbgE2Jqq50\/aseprite%252520logo_thumb%25255B3%25255D.png?imgmax=800\" width=\"640\" height=\"288\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E \u003Ca name='more'\u003E\u003C\/a\u003EYou can import a decent amount of image file formats like JPG, PCX, GIF, BMP, FLC, ASE and more. The same can be said about exporting, with additional options to save entire animation strips.   \u003Cp\u003EOnce you're set up and happy with image selection, you're free to use drawing tools for enhancement. Don't be fooled by the pixel graphics, because the application is capable of powerful results. A toolbar holds all brushes you need to draw lines, various geometrical shapes, spray areas and more. Multiple color palettes are at your disposal, further broadening the number of possibilities.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EUser Interface.\u003C\/strong\u003E \u003C\/p\u003E  \u003Cp\u003EHere you can learn the basics principles behind Aseprite interface. You should be familiar with the names of the main window elements:\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" src=\"http:\/\/www.aseprite.org\/docs\/ui\/screen.png\" width=\"640\" height=\"402\" \/\u003E\u003C\/p\u003E  \u003Cp\u003EThe most important elements are the Sprite Editor, the Timeline, and the Foreground \u0026amp; Background Colors. Everything else is secondary.\u003C\/p\u003E  \u003Cp\u003EYou need to have in mind that the Foreground Color is associated with the \u003Ccode\u003ELeft click\u003C\/code\u003E, and the Background Color with the \u003Ccode\u003ERight click\u003C\/code\u003E. So it means that if you've the Pencil tool selected and want to paint something, using the \u003Ccode\u003ELeft click\u003C\/code\u003E you'll paint with the current Foreground Color, and using the \u003Ccode\u003ERight click\u003C\/code\u003E you paint with the Background Color.\u003C\/p\u003E  \u003Ch4\u003ELeft hand on the keyboard \u003C\/h4\u003E  \u003Cp\u003EOur first recommendation is that you should to put your left hand on the keyboard \u003Cem\u003E(or your right hand if you are left-handed)\u003C\/em\u003E. The point here is that you should start using shortcuts. There are some handy keyboard shortcuts that you can use from the very beginning:\u003C\/p\u003E  \u003Cul\u003E   \u003Cli\u003EKeys \u003Ccode\u003E1\u003C\/code\u003E, \u003Ccode\u003E2\u003C\/code\u003E, \u003Ccode\u003E3\u003C\/code\u003E, \u003Ccode\u003E4\u003C\/code\u003E, \u003Ccode\u003E5\u003C\/code\u003E, and \u003Ccode\u003E6\u003C\/code\u003E can be used to change the zoom. \u003C\/li\u003E    \u003Cli\u003E\u003Ccode\u003EB\u003C\/code\u003E key is the Pencil tool, and \u003Ccode\u003EM\u003C\/code\u003E the rectangular marquee, maybe the most common tools that you will use. \u003C\/li\u003E    \u003Cli\u003EYou can pick colors (Eyedropper tool) with \u003Ccode\u003EAlt\u003C\/code\u003E + click. E.g. \u003Ccode\u003EAlt+Left click\u003C\/code\u003E changes the Foreground Color, \u003Ccode\u003EAlt+Right click\u003C\/code\u003E changes the Background Color, \u003C\/li\u003E    \u003Cli\u003EThe \u003Ccode\u003ECtrl\u003C\/code\u003E key (or \u003Ccode\u003E⌘\u003C\/code\u003E on Mac OS X) can be used to select the Move Tool. With it you can easily select or move layers. \u003C\/li\u003E \u003C\/ul\u003E  \u003Ch4\u003EAlternative functions for right-click \u003C\/h4\u003E  \u003Cp\u003EBy default, you paint with the Background Color using the \u003Ccode\u003ERight click\u003C\/code\u003E, but you can change this configuration from \u003Ccode\u003EEdit \u0026gt; Preferences \u0026gt; Editor\u003C\/code\u003E:\u003C\/p\u003E  \u003Cp\u003E\u003Cimg style=\"display: block; float: none; margin-left: auto; margin-right: auto\" src=\"http:\/\/www.aseprite.org\/docs\/ui\/pref.png\" width=\"640\" height=\"380\" \/\u003E\u003Cstrong\u003E\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ERelease Notes:\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EAseprite v1.0 \u003C\/p\u003E  \u003Cp\u003EAseprite v1.0.9 \u003Csmall\u003EFebruary 2 2015\u003C\/small\u003E\u003C\/p\u003E  \u003Cul\u003E   \u003Cli\u003EMac OS X:      \u003Cul\u003E       \u003Cli\u003EInfinite editor scroll is now available on Mac OS X too \u003C\/li\u003E        \u003Cli\u003EFix mouse movement problems \u003C\/li\u003E     \u003C\/ul\u003E   \u003C\/li\u003E    \u003Cli\u003ENew command line options:      \u003Cul\u003E       \u003Cli\u003E\u003Ccode\u003E--filename-format\u003C\/code\u003E (\u003Ca href=\"http:\/\/www.aseprite.org\/issue\/519\"\u003Eissue 519\u003C\/a\u003E): to specify special filenames used in export operations (\u003Ccode\u003E--save-as\u003C\/code\u003E,\u003Ccode\u003E--sheet\u003C\/code\u003E, \u003Ccode\u003E--split-layers\u003C\/code\u003E, etc.) \u003C\/li\u003E        \u003Cli\u003E\u003Ccode\u003E--trim\u003C\/code\u003E: trim frames before exporting sprite sheet or texture atlas \u003C\/li\u003E     \u003C\/ul\u003E   \u003C\/li\u003E    \u003Cli\u003E\u003Ca href=\"http:\/\/www.aseprite.org\/issue\/587\"\u003EIssue 587\u003C\/a\u003E: \u003Ccode\u003EShift+X\u003C\/code\u003E switches layer visibility \u003C\/li\u003E    \u003Cli\u003E\u003Ca href=\"http:\/\/www.aseprite.org\/issue\/585\"\u003EIssue 585\u003C\/a\u003E: Add option to disable animation loop when saving GIF files \u003C\/li\u003E    \u003Cli\u003EFix regression bug: now you can move the color popup window again \u003C\/li\u003E    \u003Cli\u003EFix bug flipping a rectangular region in a displaced cel \u003C\/li\u003E    \u003Cli\u003EFix some reported crashes \u003C\/li\u003E \u003C\/ul\u003E  \u003Cp\u003E\u003Cstrong\u003EOlder versions.\u003C\/strong\u003E\u003C\/p\u003E  \u003Cp\u003EThese are the previous releases of Aseprite available for free:\u003C\/p\u003E  \u003Cp\u003E      \u003Ca href=\"http:\/\/packages.debian.org\/sid\/aseprite\"\u003EAseprite 0.9.5 for Debian (official)\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"https:\/\/launchpad.net\/ubuntu\/raring\/+package\/aseprite\"\u003EAseprite 0.9.5 for Ubuntu (Launchpad)\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/www.playdeb.net\/software\/ASEPRITE\"\u003EAseprite 0.9.5 for Ubuntu (PlayDeb)\u003C\/a\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ciframe height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/K3sBCFJi9f8\" frameborder=\"0\" width=\"560\" allowfullscreen=\"allowfullscreen\"\u003E\u003C\/iframe\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/2054549824044559918\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/aseprite-is-open-source-program-to.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/2054549824044559918"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/2054549824044559918"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2015\/02\/aseprite-is-open-source-program-to.html","title":"Aseprite is an open source program to create animated sprites \u0026amp; pixel: user interface."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh4.ggpht.com\/-jergkoYbh-M\/VODiaGmbyFI\/AAAAAAAAIJo\/AWbgE2Jqq50\/s72-c\/aseprite%252520logo_thumb%25255B3%25255D.png?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}},{"id":{"$t":"tag:blogger.com,1999:blog-5957666542740923869.post-5911926811116396532"},"published":{"$t":"2014-07-07T14:46:00.001-07:00"},"updated":{"$t":"2014-07-07T14:47:43.010-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"Graphic Tools"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Math"}],"title":{"type":"text","$t":"Lybniz is a simple function graph plotter in Python."},"content":{"type":"html","$t":"\u003Cp\u003E\u003Cstrong\u003E\u003Ca href=\"http:\/\/lybniz2.sourceforge.net\" target=\"_blank\"\u003ELybniz\u003C\/a\u003E project\u003C\/strong\u003E is a simple function graph plotter in Python on GTK.\u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003ELybniz\u003C\/strong\u003E allows to plot up to three functions on one graph. It needs no installation - simply one Python script.\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003ERequirements:\u003C\/b\u003E     \u003Cbr \/\u003E· PyGtk\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EWhat's New\u003C\/b\u003E in This Release:     \u003Cbr \/\u003E· 1.3.1 contained a silly mistake, made when I upped the version number just prior to releasing. This fixes it. There are no other changes.\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EUsing Lybniz\u003C\/b\u003E     \u003Cbr \/\u003EEnter functions in Python syntax with x as the dependent variable. Press the \u003Cb\u003EPlot\u003C\/b\u003E button to see the graph.     \u003Cbr \/\u003EConstants and functions of the math module are available.     \u003Cbr \/\u003EExamples:\u003C\/p\u003E  \u003Cp\u003E\u003Ccode\u003Ex**3 - 2 * x      \u003Cbr \/\u003E2 * cos(x)       \u003Cbr \/\u003Ee ** (x \/ -5) * sin(x)\u003C\/code\u003E     \u003Cbr \/\u003E\u003Cb\u003ExMin\u003C\/b\u003E, \u003Cb\u003ExMax\u003C\/b\u003E, \u003Cb\u003EyMin\u003C\/b\u003E, \u003Cb\u003EyMax\u003C\/b\u003E define the boundaries of the range on the abszissa and ordinate to be displayed.     \u003Cbr \/\u003ETo zoom in, activate the \u003Cb\u003EZoom In\u003C\/b\u003E tool button. It divides the range boundaries by half. \u003Cb\u003EZoom out\u003C\/b\u003E does the opposite. To closer inspect a specific section, drag the mouse cursor over an area. After release of the button the area thus marked will be displayed.\u003C\/p\u003E  \u003Cp\u003EThe scale automatically adjusts as you zoom in and out. To switch between decimal and radian styles, use \u003Cb\u003EGraph -\u0026gt; Scale Style -\u0026gt; Decimal or Graph -\u0026gt; Scale Style –\u0026gt; Radians\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EIf you wish to use a custom scale select \u003Cb\u003EGraph -\u0026gt; Scale Style -\u0026gt; Custom\u003C\/b\u003E. You can then use the \u003Cb\u003ExScale\u003C\/b\u003E, \u003Cb\u003EyScale\u003C\/b\u003E entries to input the intervals at which marks are displayed on the respective axis.\u003C\/p\u003E  \u003Cp\u003E\u003Ca href=\"http:\/\/lh3.ggpht.com\/-_7x45wHQAvs\/U7sVB6EUT1I\/AAAAAAAAHqM\/XudmcMteAEw\/s1600-h\/lybniz_colour_graph_small%25255B4%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"lybniz_colour_graph_small\" border=\"0\" alt=\"lybniz_colour_graph_small\" src=\"http:\/\/lh3.ggpht.com\/-u5T0pUhLbV8\/U7sVC4VAghI\/AAAAAAAAHqU\/E1QMiXO3i14\/lybniz_colour_graph_small_thumb%25255B2%25255D.png?imgmax=800\" width=\"650\" height=\"504\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Ca name='more'\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp\u003EThey can also be stated as expressions. \u003C\/p\u003E  \u003Cp\u003EExamples:\u003C\/p\u003E  \u003Cp\u003E\u003Ccode\u003ExMin = pi * -2      \u003Cbr \/\u003ExMax = pi * 2       \u003Cbr \/\u003ExScale = pi \/ 2       \u003Cbr \/\u003E\u003C\/code\u003E    \u003Cbr \/\u003ETo save the graph in PNG format choose \u003Cb\u003EFile -\u0026gt; Save\u003C\/b\u003E.     \u003Cbr \/\u003EUsing \u003Cb\u003EGraph -\u0026gt; Evaluate\u003C\/b\u003E you get a dialog box that allows input of an x value and calculates y values.     \u003Cbr \/\u003E\u003Ca name=\"keys\"\u003E\u003C\/a\u003E\u003Cb\u003EAccelerator Keys\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EAccelerator    \u003Cbr \/\u003EFunction\u003C\/p\u003E  \u003Cp\u003E\u003Cimg src=\"http:\/\/lybniz.garage.maemo.org\/images\/key-enter.png\" \/\u003E     \u003Cbr \/\u003EDefine functions\u003C\/p\u003E  \u003Cp\u003E\u003Cimg src=\"http:\/\/lybniz.garage.maemo.org\/images\/key-zoomin.png\" \/\u003E     \u003Cbr \/\u003EZoom in\u003C\/p\u003E  \u003Cp\u003E\u003Cimg src=\"http:\/\/lybniz.garage.maemo.org\/images\/key-zoomout.png\" \/\u003E     \u003Cbr \/\u003EZoom out\u003C\/p\u003E  \u003Cp\u003E\u003Cimg src=\"http:\/\/lybniz.garage.maemo.org\/images\/key-close.png\" \/\u003E     \u003Cbr \/\u003EReset zoom\u003C\/p\u003E  \u003Cp\u003E\u003Cimg src=\"http:\/\/lybniz.garage.maemo.org\/images\/key-fullscreen.png\" \/\u003E     \u003Cbr \/\u003EFullscreen\u003C\/p\u003E  \u003Cp\u003E\u003Cimg src=\"http:\/\/lybniz.garage.maemo.org\/images\/key-menu.png\" \/\u003E     \u003Cbr \/\u003EMenu\u003C\/p\u003E  \u003Cp\u003E\u003Ca name=\"functions\"\u003E\u003C\/a\u003E\u003Cb\u003E\u003Ca href=\"http:\/\/lh3.ggpht.com\/-rTy2y12HQ00\/U7sVD_UsUjI\/AAAAAAAAHqc\/LkS_9gqz_gk\/s1600-h\/Lybniz_2%25255B4%25255D.png\"\u003E\u003Cimg style=\"background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px\" title=\"Lybniz_2\" border=\"0\" alt=\"Lybniz_2\" src=\"http:\/\/lh6.ggpht.com\/-Nw-sBECnBDk\/U7sVExG7GiI\/AAAAAAAAHqk\/jlKR7buOP9Q\/Lybniz_2_thumb%25255B2%25255D.png?imgmax=800\" width=\"650\" height=\"523\" \/\u003E\u003C\/a\u003E\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003E\u003Cb\u003EOperators and Functions.\u003C\/b\u003E\u003C\/p\u003E  \u003Cp\u003EExpressions are entered in python syntax. The following operators can be used.    \u003Cbr \/\u003ENote: multiplication is not implied (use \u0026quot;2*x\u0026quot; not \u0026quot;2x\u0026quot;) \u003C\/p\u003E  \u003Cp\u003EOperator    \u003Cbr \/\u003EDescription\u003C\/p\u003E  \u003Cp\u003E+, -, *, \/    \u003Cbr \/\u003EPlus, minus, multiply, divide\u003C\/p\u003E  \u003Cp\u003E\/\/    \u003Cbr \/\u003EInteger divide. (eg 3\/2 = 1)\u003C\/p\u003E  \u003Cp\u003E**, ^    \u003Cbr \/\u003ERaise to the power of\u003C\/p\u003E  \u003Cp\u003E%    \u003Cbr \/\u003ERemainder\u003C\/p\u003E  \u003Cp\u003ELybniz has all the math functions of the python standard library available. \u003C\/p\u003E  \u003Cp\u003Eacos()    \u003Cbr \/\u003Easin()     \u003Cbr \/\u003Eatan()\u003C\/p\u003E  \u003Cp\u003Eatan2()    \u003Cbr \/\u003Eceil()     \u003Cbr \/\u003Ecos()\u003C\/p\u003E  \u003Cp\u003Ecosh()    \u003Cbr \/\u003Edegrees()     \u003Cbr \/\u003Eexp()\u003C\/p\u003E  \u003Cp\u003Efabs()    \u003Cbr \/\u003Efloor()     \u003Cbr \/\u003Efmod()\u003C\/p\u003E  \u003Cp\u003Efrexp()    \u003Cbr \/\u003Ehypot()     \u003Cbr \/\u003Eldexp()\u003C\/p\u003E  \u003Cp\u003Eog()    \u003Cbr \/\u003Elog10()     \u003Cbr \/\u003Emodf()\u003C\/p\u003E  \u003Cp\u003Epow()    \u003Cbr \/\u003Eradians()     \u003Cbr \/\u003Esin()\u003C\/p\u003E  \u003Cp\u003Esinh()    \u003Cbr \/\u003Esqrt()     \u003Cbr \/\u003Etan()\u003C\/p\u003E  \u003Cp\u003Etanh()\u003C\/p\u003E  \u003Cp\u003EThese are documented at \u003Ca href=\"http:\/\/docs.python.org\/lib\/module-math.html\"\u003EPython Library Reference - Math\u003C\/a\u003E.     \u003Cbr \/\u003EThere are also a few extra functions that may be useful. \u003C\/p\u003E  \u003Cp\u003EFunction    \u003Cbr \/\u003EDescription\u003C\/p\u003E  \u003Cp\u003Efac(x)    \u003Cbr \/\u003EFactorial of x (or x!). Note: only works with positive integers\u003C\/p\u003E  \u003Cp\u003Esinc(x)    \u003Cbr \/\u003Esin(x)\/x\u003C\/p\u003E  \u003Cp\u003EThe constants pi and e can be used. \u003C\/p\u003E  \u003Cp\u003E\u003Cstrong\u003EScreenshots.\u003C\/strong\u003E\u003C\/p\u003E  \u003Ch4\u003E\u003C\/h4\u003E  \u003Cp align=\"center\"\u003E\u003Ca href=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/trig.png\"\u003E\u003Cimg alt=\"Lybniz trigonometry graph\" src=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/trig-small.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/trigzoom.png\"\u003E\u003Cimg alt=\"Lybniz trigonometry graph\" src=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/trigzoom-small.png\" \/\u003E\u003C\/a\u003E     \u003Cbr \/\u003E\u003Ca href=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/diffraction.png\"\u003E\u003Cimg alt=\"Lybniz diffraction pattern\" src=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/diffraction-small.png\" \/\u003E\u003C\/a\u003E \u003Ca href=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/gaussian.png\"\u003E\u003Cimg alt=\"Lybniz gaussian\" src=\"http:\/\/lybniz2.sourceforge.net\/images\/1.3\/gaussian-small.png\" \/\u003E\u003C\/a\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003EIf you liked this article, subscribe to the feed by clicking the image below to keep informed about new contents of the blog:\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  \u003Cp align=\"center\"\u003E\u003Ci\u003E\u003Ci\u003E\u003Ca href=\"http:\/\/linuxlandit.blogspot.com\/feeds\/posts\/default\"\u003E\u003Cimg border=\"0\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_8Kvtw29jRUk\/TTHKzbsOm3I\/AAAAAAAAB10\/bzSycHjDEZo\/s400\/tuxfeed.png\" \/\u003E\u003C\/a\u003E\u003C\/i\u003E\u003C\/i\u003E\u003C\/p\u003E  "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/linuxlandit.blogspot.com\/feeds\/5911926811116396532\/comments\/default","title":"Post Comments"},{"rel":"replies","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2014\/07\/lybniz-is-simple-function-graph-plotter.html#comment-form","title":"0 Comments"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/5911926811116396532"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/5957666542740923869\/posts\/default\/5911926811116396532"},{"rel":"alternate","type":"text/html","href":"https:\/\/linuxlandit.blogspot.com\/2014\/07\/lybniz-is-simple-function-graph-plotter.html","title":"Lybniz is a simple function graph plotter in Python."}],"author":[{"name":{"$t":"Hugo Luis Alberto Repetto"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/07244392241311725660"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"32","height":"32","src":"\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEilwVomTqkOKvXZ9YBOCfy2dPetoVx0QjQVJs0VPP1QEBSlniwgdnqnJjamnffdlVzdj2VGSVmgndr5w0BeuSxuW1mYVny-hqR3ueQE_J1FFg7oDFYViymRoFCrbVP_pCklHNRIHgFybiX7CZIgf9CbUbWStgXyzGiP4KkvQ9TeWGtAtFY\/s220\/tux-templier.png"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"http:\/\/lh3.ggpht.com\/-u5T0pUhLbV8\/U7sVC4VAghI\/AAAAAAAAHqU\/E1QMiXO3i14\/s72-c\/lybniz_colour_graph_small_thumb%25255B2%25255D.png?imgmax=800","height":"72","width":"72"},"thr$total":{"$t":"0"}}]}});