C#: Save a canvas as an image

This C# code saves a Canvas as a *.PNG image:

private void CreateSaveBitmap(Canvas canvas, string filename)
     {
       RenderTargetBitmap renderBitmap = new RenderTargetBitmap(
        (int)canvas.Width, (int)canvas.Height,
        96d, 96d, PixelFormats.Pbgra32);
      // needed otherwise the image output is black
       canvas.Measure(new Size((int)canvas.Width, (int)canvas.Height));
       canvas.Arrange(new Rect(new Size((int)canvas.Width, (int)canvas.Height)));

renderBitmap.Render(canvas);

//JpegBitmapEncoder encoder = new JpegBitmapEncoder();
       PngBitmapEncoder encoder = new PngBitmapEncoder();
       encoder.Frames.Add(BitmapFrame.Create(renderBitmap));

using (FileStream file = File.Create(filename))
       {
         encoder.Save(file);
       }
     }

Use it like this:

CreateSaveBitmap(myCanvas, @"C:\temp\out.png");

Debugger Canvas for Visual Studio

Microsoft and Brown University have collaborated to create Debugger Canvas, a free Power Tool that adds Code Bubbles™ to Visual Studio for a new way to debug.

Do you get lost in the document tabs? Are you tired of the debugger jumping around from file to file? Debugger Canvas pulls together the code you’re exploring onto a single pan-and-zoom display. As you hit breakpoints or step into code, Debugger Canvas shows just the methods that you’re debugging, with call lines and local variables, to help you see the bigger picture.

Release info:

We are currently in the last phase of shipping! The first alpha release will be available in early June 2011. (download link)

Something I will check out for sure! ;)
Update: works only with Visual Studio 2010 Ultimate :(

More info on the Microsoft Research page.

[ source ]

#Basta

All you need is: National Geographic Channel, Discovery, some programs from één (BE) and canvas (BE).

I hope you watched  Basta today:

edit: looks like they removed the video -_- (tnx @bramus)

edit: back up :)

Some extra vids but not sure how long they will be online:

 



Ai to Canvas Plug-In

The Ai->Canvas plug-in enables Adobe® Illustrator® to export vector and bitmap artwork directly to an HTML5 canvas element that can be rendered in a canvas-enabled browser. The plug-in provides drawing, animation and coding options such as events so that you can build interactive, well-designed canvas-based web apps.

[ source ]

HTML 5 Canvas: Music notation

Try the demo.

FireFox 3.6.3:

<pre id="line58">  <canvas id="notation" width="800" height="400"
    style="background: #eed; padding: 10px; border: 10px solid #ddc">
    HTML5 Canvas not supported on this browser.
  </canvas>
</pre>

Maybe this is something for Wikifonia?

[ source ] [ demo ]

The virtual revolution – Tweede aflevering #virtualrevolution

Een reactie op The virtual revolution door Gerdi Staelens:

Het vrijheidsideaal kwam ook weer aan bod in de tweede aflevering.
De intro van de aflevering maakte dit al meteen duidelijk. Het internet werd omschreven als een totaal nieuw informatie-ecosysteem dat zijn informatie vrij maakt en moeilijk controleerbaar. Oude machtscentra brokkelen er door af en er is een strijd om het ontstane vacuüm in te vullen.

Het medium internet heeft inderdaad veel veranderingen teweeg gebracht voor de mens.
Maar moeten we deze vaststelling niet omkeren?
Is het niet de mens die de verandering teweeg bracht door het gebruik van het medium?

Voor mij was de uitzending een illustratie van nieuwe stijlen die mijn bedenking kracht bij zet.

We zagen in de tweede aflevering veranderingen voor het verspreiden van informatie.
Verandering voor de manier waarop mensen reageren, waarop zij actie voeren en zelfs oorlog voeren. Ze vormen op andere methodes groepen. Ook illustreerde men veranderingen bij het handeldrijven en zijn betalingsvormen…

Wie het analyseert merkt dat we anders nieuwe behoeften invullenden:
Zaken moeten in onze hedendaagse wereld sneller worden uitgevoerd, ze moeten beter geïllustreerd en gecommuniceerd worden, we willen meer kennis verzamelen van iets of iemand, we willen zaken beter onderbouwen, iets met een grotere zekerheid laten functioneren, plaats ongebonden willen we kunnen werken en ga zo maar verder.
We willen nieuwe behoeften in vullen ten gevolge van een evoluerende (harde economische) wereld.

Het is het invullen van nieuwe behoeften die een nieuwe stijl kan teweeg brengen en waarvan de mens kan schrikken.

Maar wat is een nieuwe stijl?
De beroemde architectuurhistoricus Sir Nikolaus Pevsner geeft hierop antwoord.
Volgens hem kunnen we pas spreken van een nieuwe stijl als we een bepaald totaalconcept kunnen onderscheiden dat fundamenteel afwijkt van wat gangbaar is.
Zijn woorden waren: “technical innovations never makes a new style”.

Het is dus niet de manier waarop of waarmee we iets programmeren of technisch bouwen… die zorgt voor een nieuwe stijl. Wel de benadering van de behoefte of m.a.w. het concept!
Spijtig dus dat in deze uitzending de creativiteit van de mens niet in de verf werd gezet.
Het is immers de creatieve mens die het medium internet al omvattende toepassingen gaf om iets op een andere methode aan te pakken in functie van zijn nieuwe behoeften. En… dat de toepassingen daarbij vlug werken, is aardig meegenomen.

In deze uitzending konden we dus meer ‘zien’ dan het gebruik of het misbruik van iets.

-

De eerste reactie op the virtual revolution: Internet: een hoogtepunt van een technische evolutie.

Twitter: @GerdiStaelens

Internet: een hoogtepunt van een technische evolutie #virtualrevolution

Een reactie op The virtual revolution door Gerdi Staelens:

De eerste uitzending van The virtual revolution laat uitschijnen dat idealen van hippies aan de basis liggen van het internet.

Dit lijkt me wel wat overdreven. Het was van secundaire aard.

Het was o.a. een uitdaging voor zendamateurs om computers te laten communiceren.
Men wilde net zoals bij mensen die “gesproken taal” communiceren, computers met “digitale woorden” laten communiceren via de ether. Als mensen praten met elkaar dan wordt er verwacht dat de ene persoon luistert terwijl de andere praat. Dezelfde regel is van toepassing als twee of meer mensen willen praten via zendtoestellen.
Voor het communiceren met computers moesten twee euvels overwonnen worden: computers moesten automatisch procedures hanteren voor het woord “over” en een broadcast omgeving zoals de ether bestond niet voor computers.

Het woord “over” diende deel uit te maken van de informatie en kwam daarom op het einde van de “digitale zin” terecht. Een half-duplex communicatie-protocol werd ontworpen om toestellen te laten praten. Met het medium packet-radio werd de communicatie over de ether opgezet tussen twee computers van radioamateurs.
Om meerdere computers te betrekken bij de communicatie moest een alternatief gevonden worden voor de broadcasting eigenschap van de ether. Men maakte hiervoor een digitaal knooppunt. Radioamateurs ontwikkelden een bulletin board system (BBS) om de informatie te centraliseren, te bewaren en te delen.

Radioamateurs haalden ook hun kaas van ergens.
Voordien communiceerde men met ingetypte woorden (tele typing) op telextoestellen (TTY). Radioamateurs maakten de uitbreiding naar radio tele typing (RTTY). Ze stuurden reeksen van gecodeerd karakers (gelijkbaar met 5 bits) met hoorbare hoge en lage toon de ether in.
En waar haalde men de kaas voor TTY en RTTY?
Juist, van bij de morse. Bij morse werd de codering van de informatie gevormd door een afwisseling van lange en korte hoorbare tonen.

Historisch kan het internet beter gezien worden als een hoogtepunt in de evolutie van communicatie.

Hoe dan ook een prachtige reportage!

[ source ]