lopspower / circularimageview Goto Github PK
View Code? Open in Web Editor NEWCreate circular ImageView in Android in the simplest way possible
License: Apache License 2.0
Create circular ImageView in Android in the simplest way possible
License: Apache License 2.0
The images are always slightly too small, e.g. here is a 40dp x 40dp image (Amazon logo) with a 40dp x 40dp blue circle behind it:
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:background="@drawable/cicular_mask" />
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
app:border="false"
app:imageUrl="@{entry.imageUrl}"
app:shadow="false" />
Currently the images are in "drawable-nodpi". they should be in the correct folder .
the image "logo.jpg" is huge and doesn't need to be this large. the view should support color for being the background. It should contain only the bear inside.
Currently, even for the current sample, I could use this image:
and set this drawable that the sample uses:
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:width="284dp"
android:height="164dp">
<shape android:shape="rectangle">
<solid android:color="#000"/>
</shape>
</item>
<item
android:gravity="center">
<bitmap
android:width="71dp"
android:height="41dp"
android:src="@drawable/logo">
</bitmap>
</item>
</layer-list>
the action bar icons contain black color while the toolbar's background color is already black. This doesn't work nicely, as you can see on the clicking effect on the buttons. It should contain only white and transparent pixels. You can see some examples on "android assets studio" website: https://romannurik.github.io/AndroidAssetStudio/
The attributes you used is conflicts with
play-services-wallet\8.4.0\res\values\wallet_colors.xml
Affected attributes :
I'm using Glide (image loading/manipulating/caching library https://github.com/bumptech/glide) which is very popular to load images into the circular views. Suppose I do this for the first time in the app lifecycle it works fine but when i close the activity I do this on and return to it suddenly the circle image had a black background around it. This produces the effect of a surrounding black box. Please fix this.
thanks
Hi, I would like to remove or add at runtime the border.
For now, I'm using setBorderWidth(0) to remove it...
Is it possible to add the .setBorder(boolean) method?
Thanks
Denis
I see the method addShadow
in your code
paintBorder.setShadowLayer(4.0f, 0.0f, 2.0f, Color.BLACK);
Could you please allow us to set shadow param (radius, dx, dy by dip, color) programmatically, or in xml?
On most cases, I assume people will want the built in shadow, which is cast via "elevation".
It's more efficient and looks nice, so please add this feature.
Only thing it lacks is a shadow color
Please add a license to this library. Thanks.
Creating a new shader and bitmap in every call to onDraw (up to 60times / second) is very bad for performance.
Try creating the shader in onSizeChanged() to make sure your bitmap has the right size.
Giving StackTrace:
android.view.InflateException: Binary XML file line #15: Error inflating class
at android.view.LayoutInflater.createView(LayoutInflater.java:626)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:702)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:761)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:769)
at android.view.LayoutInflater.inflate(LayoutInflater.java:498)
at android.view.LayoutInflater.inflate(LayoutInflater.java:398)
at com.flunny.fragments.amici.TrovaAmiciFragment$TrovaAmiciAdapter.getView(TrovaAmiciFragment.java:158)
at android.widget.AbsListView.obtainView(AbsListView.java:2608)
at android.widget.ListView.makeAndAddView(ListView.java:1852)
at android.widget.ListView.fillDown(ListView.java:682)
at android.widget.ListView.fillGap(ListView.java:646)
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:6592)
at android.widget.AbsListView$FlingRunnable.run(AbsListView.java:5575)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791)
at android.view.Choreographer.doCallbacks(Choreographer.java:591)
at android.view.Choreographer.doFrame(Choreographer.java:560)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:600)
... 25 more Caused by: java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:832)
at android.content.res.Resources.loadDrawable(Resources.java:2988)
at android.content.res.TypedArray.getDrawable(TypedArray.java:602)
at android.widget.ImageView.(ImageView.java:131)
at com.flunny.resources.CircularImageView.(CircularImageView.java:33)
at com.flunny.resources.CircularImageView.(CircularImageView.java:29)
... 28 more
XML #15 is:
<com.flunny.resources.CircularImageView
android:id="@+id/circularImageView1"
android:layout_width="@dimen/trovaAmiciImmagineAltezza"
android:layout_height="@dimen/trovaAmiciImmagineAltezza"
android:layout_centerVertical="true"
android:src="@drawable/sconosciuto" />
CircularImageView #33 and #29:
public CircularImageView(Context context, AttributeSet attrs) {
this(context, attrs, R.attr.circularImageViewStyle); // 29
}
public CircularImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle); // 33
................
Image wasn't set, it crashed before. The default image (@drawable/sconosciuto) has 2,9kb (111px x 111px)
Hi Lopez,
Stumbled upon your project and noticed it is using Creative Commons as project license. CC license is not created specifically for computer programs, and thus does not offer much protection. It would be better if you release your project in MIT or GPL, which eliminates you from those legal disputes.
Here's a StackOverflow question regarding CC license, and GitHub also offer a website to help you choose a license.
Hope this helps!
Is it support the downloaded image from network using Universal Image Loader ? I am getting error when try to set image downloaded from network using UIL .
Thank you for your job!
Do you know how to set identical shadow width around the circle ? I have tried:
app:shadow-radius="4"
or
paint.setShadowLayer(4.0f, 4.0f, 4.0f, Color.BLACK)
but shadow is bigger at circle bottom than at circle top
Add in tools:replace="android:allowBackup"
so that apps can provide their own settings. Otherwise, the manifest merger fails
Manifest merger failed : Attribute application@allowBackup value=(false) from AndroidManifest.xml:31:9-36
is also present at [com.mikhaellopez:circularimageview:3.0.2] AndroidManifest.xml:12:9-35 value=(true).
Suggestion: add 'tools:replace="android:allowBackup"' to element at AndroidManifest.xml:29:5-141:19 to override.
I have to add hard corded values of height and width because of center inside scaltype. wrap_content doesn't work,any help? @lopspower
i get this error
java.lang.OutOfMemoryError: Failed to allocate a 9000012 byte
allocation with 3137632 free bytes and 2MB until OOM
at dalvik.system.VMRuntime.newNonMovableArray(Native Method)
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:831)
at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
at android.graphics.Bitmap.createBitmap(Bitmap.java:728)
at android.graphics.Bitmap.createBitmap(Bitmap.java:653)
at com.mikhaellopez.circularimageview.CircularImageView.cropBitmap
(CircularImageView.java:206)
If you use this library with images 4:3 / 16:9 / 9:16 / it doesn't respect de aspect ratio.
If you use 1:1 images, works perfectly
If I import the library as project, I can't use the XML tags: "app:"... even adding the xmlns
and I can't preview it on layout:
"Missing styles. Is the correct theme chosen for this layout?
Use the Theme combo box above the layout to choose a different layout, or fix the theme style references.
Failed to find style 'circularImageViewStyle' in current theme"
BitmapShader shader = new BitmapShader(Bitmap.createScaledBitmap(image, canvasSize, canvasSize, false), Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
07-03 16:34:02.687: E/AndroidRuntime(4886): FATAL EXCEPTION: main
07-03 16:34:02.687: E/AndroidRuntime(4886): java.lang.OutOfMemoryError
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.graphics.Bitmap.nativeCreate(Native Method)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.graphics.Bitmap.createBitmap(Bitmap.java:903)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.graphics.Bitmap.createBitmap(Bitmap.java:880)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.graphics.Bitmap.createBitmap(Bitmap.java:812)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:686)
07-03 16:34:02.687: E/AndroidRuntime(4886): at com.mikhaellopez.circularimageview.CircularImageView.onDraw(CircularImageView.java:83)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.View.draw(View.java:15303)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.View.getDisplayList(View.java:14197)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.View.getDisplayList(View.java:14239)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.View.draw(View.java:15017)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.ViewGroup.drawChild(ViewGroup.java:3298)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3135)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.View.draw(View.java:15306)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.View.getDisplayList(View.java:14197)
07-03 16:34:02.687: E/AndroidRuntime(4886): at android.view.View.getDisplayList(View.java:14239)
Anyone face this error? How do we resolve bitmap shader out of memory. It occurs in some devices, not all.
When setting width or height in xml to wrap_content the CircularImageView fills the space regardless.
Hello, i am a complete beginner to soft-building. I careful study your code, and try to reproduct your logic, but i meet troble when i read:
(( LobsterShadeSlider) findViewById(R.id.shadeslider)).addOnColorListener(new OnColorListener() {
@OverRide
public void onColorChanged(@ColorInt int color) {
circularImageView. setBorderColor(color);
circularImageView. setShadowColor(color);
}
Due to i can't import the packages OnColorListener and LobSterShadeSlider, then i can't smoothly understand you code........
So,my question is:How can I import the packages such as OnColorListener and LobsterShadeSlider.
or , Do i have to code it by myself?
think you.
how to support 2.3 device circular imageview
How can i use it in my project contain API level 7
These are 3 normal ImageViews distributed with the same weight:
<LinearLayout
android:id="@+id/l1"
android:background="@drawable/sfondoedittextmessaggi"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true">
<ImageView
android:id="@+id/immagine1"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_margin="@dimen/marginPiccolo"
android:src="@drawable/nofoto"
android:layout_weight="1.0" />
<ImageView
android:id="@+id/immagine2"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_margin="@dimen/marginPiccolo"
android:src="@drawable/nofoto"
android:adjustViewBounds="true"
android:layout_weight="1.0" />
<ImageView
android:id="@+id/immagine3"
android:layout_width="0.0dip"
android:layout_height="fill_parent"
android:layout_margin="@dimen/marginPiccolo"
android:src="@drawable/nofoto"
android:adjustViewBounds="true"
android:layout_weight="1.0" />
</LinearLayout>
and these changing to CircularImageView:
if you add circularImageView in a linearLayout and give weight instead of fixed width and heigth then CircularImageView is not accepting gravity parameter of parent layout.
in your onMeasuer method you should assume that circularImageView has always square canvas so you should add "int min = Math.min(width, height);" and set this min as measured dimension in your code like below;
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = measureWidth(widthMeasureSpec);
int height = measureHeight(heightMeasureSpec);
**int min = Math.min(width, height);**
setMeasuredDimension(min, min);
}
I added xml into my layout but I have this problem:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res/com.mikhaellopez.circularimageviewsample"
....
<com.mikhaellopez.circularimageview.CircularImageView
android:id="@+id/leftImage"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="3dp"
app:border="true"
app:border_color="@color/grayLight"
app:border_width="2dp"
app:shadow="true" />
Multiple annotations found at this line:
- error: No resource identifier found for attribute 'border_color' in package
'com.mikhaellopez.circularimageviewsample'
- error: No resource identifier found for attribute 'shadow' in package 'com.mikhaellopez.circularimageviewsample'
- error: No resource identifier found for attribute 'border' in package 'com.mikhaellopez.circularimageviewsample'
- error: No resource identifier found for attribute 'border_width' in package
'com.mikhaellopez.circularimageviewsample'
Can you help me please?
Thanks, Luca
Hi!
I have a black background when using your walter image. But when using a transparent image (ic_launcher), it works perfectly... I can't find the solution. Can you help me?
Here is the screenshot:
And here is the xml code:
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="96dp"
android:layout_height="96dp"
android:scaleType="centerCrop"
android:src="@drawable/walter"
app:border="true"
app:border_color="@android:color/white"
app:border_width="3dp"
app:shadow="true"
app:shadow_color="#000000"
app:shadow_radius="6"/>
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="96dp"
android:layout_height="96dp"
android:scaleType="centerCrop"
android:src="@drawable/ic_launcher"
app:border="true"
app:border_color="@android:color/white"
app:border_width="3dp"
app:shadow="true"
app:shadow_color="#000000"
app:shadow_radius="6"/>
I'm trying to use this library for my android project but when I imported the library it has an error of
The type android.support.v4.app.Fragment cannot be resolved. It is indirectly referenced from required .class files
I managed to implement this, it works fine with static images. In my case i have a radio app, and the artist image refreshes everytime the song changes. If i apply the circularimageview in my xml layout file, when the image changes my app crashes.
Any ideea why?
At least show the content as if it's the normal imageView, to see how the bounds work.
For when pressing, for example.
It could be nice to be able to set an on-top drawable that will be used for the various states, so that we could have a ripple effect on it.
For now, we need to put it on a new view, on top of this view.
Currently the shadow is drawn slightly offset from the center of the ImageView so that the shadow is visibly thicker on the bottom than the top. Is it possible to center the shadow so that it is even all the way around the image?
When setBorderWidth is used after the view is drawn, the the border gets cropped.
A way to resolve is to add this.requestLayout() before calling invalidate in setBorderWidth method.
Consider adding it.
Hi, I'm having trouble using this library to make one of my images into a circle dynamically. Here is my attempt:
private void drawerSetup() {
Profile profile = Profile.getCurrentProfile();
ProfilePictureView profilePictureView = (ProfilePictureView) findViewById(R.id.profile_image);
CircularImageView circularProfilePicture = (CircularImageView) findViewById(R.id.profile_image_circle);
if(profilePictureView != null) {
profilePictureView.setProfileId(profile.getId());
ImageView imageView = ((ImageView)profilePictureView.getChildAt(0));
Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
circularProfilePicture.setImageBitmap(bitmap);
}
}
Layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="200dp"
xmlns:facebook="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/tools"
android:background="@drawable/side_nav_bar"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:theme="@style/ThemeOverlay.AppCompat.Dark"
android:orientation="vertical"
android:gravity="bottom"
app:showIn="@layout/activity_news_feed">
<com.facebook.login.widget.ProfilePictureView
android:id="@+id/profile_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
facebook:com_facebook_preset_size="normal"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:paddingBottom="8dp"
android:layout_centerInParent="true" />
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="100dp"
android:layout_height="100dp"
app:border_color="#EEEEEE"
app:border_width="2dp"
app:shadow="true"
app:shadow_radius="10"
android:id="@+id/profile_image_circle"
app:shadow_color="#000000"
android:layout_alignBottom="@+id/profile_image"
android:layout_toLeftOf="@+id/profile_image"
android:layout_toStartOf="@+id/profile_image" />
I know that my profilePictureView
is displaying correctly when i call profilePictureView.setProfileId(profile.getId());
On my layout, it displays correctly. However, when I try to call the circularProfilePicture, I simply get an "empty" photo. The image doesn't display as the profilePictureView
does. Any ideas why this might happen?
If you dont want have the image scaled like now you can edit the draw() method like this. It will allways cut out the middle of the image, I hope this helps you! And sorry for my bad english.
public void onDraw(Canvas canvas) {
// load the bitmap
image = drawableToBitmap(getDrawable());
// init shader
if (image != null) {
canvasSize = canvas.getWidth();
if(canvas.getHeight()<canvasSize)
canvasSize = canvas.getHeight();
//Added by Dustin1358
int bitmapwidth=0;
int bitmapheigth=0;
int bitmapsize= image.getWidth();
if(image.getHeight()<bitmapsize){
bitmapsize = image.getHeight();
bitmapwidth=(image.getWidth()-bitmapsize)/2;
}else{
bitmapheigth=(image.getHeight()-bitmapsize)/2;
}
Bitmap bmp=Bitmap.createBitmap(image,bitmapwidth,bitmapheigth, bitmapsize, bitmapsize);
BitmapShader shader = new BitmapShader(Bitmap.createScaledBitmap(bmp, canvasSize, canvasSize, false), Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
//Original
//BitmapShader shader = new BitmapShader(Bitmap.createScaledBitmap(image, canvasSize, canvasSize, false), Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
paint.setShader(shader);
// circleCenter is the x or y of the view's center
// radius is the radius in pixels of the cirle to be drawn
// paint contains the shader that will texture the shape
int circleCenter = (canvasSize - (borderWidth * 2)) / 2;
canvas.drawCircle(circleCenter + borderWidth, circleCenter + borderWidth, ((canvasSize - (borderWidth * 2)) / 2) + borderWidth - 4.0f, paintBorder);
canvas.drawCircle(circleCenter + borderWidth, circleCenter + borderWidth, ((canvasSize - (borderWidth * 2)) / 2) - 4.0f, paint);
}
suppose I have a small image to show inside the circularImageView, how do I avoid it being center-cropped?
I've set this:
<com.mikhaellopez.circularimageview.CircularImageView
android:id="@+id/movingIconImageView"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/test"
app:border="true"
app:border_color="#fff"
app:border_width="0px"
app:shadow="true"
app:shadow_color="#000"
app:shadow_radius="8"/>
and the image is of size 58x60 dp (it's in the mdpi folder and has the same pixels size as the dp).
Yet this is what I see (ignore what's behind ) :
Same thing occurs when I have a 100x100 dp of the view. It always does center-crop...
I've tried changing the scaleType, but it doesn't do anything.
I've even tried forcing padding, but it didn't help.
Hi, Jorge here!
When I use Glide to load an image from Internet and setted a placeholder, the CircularImagewView not updating to the final image, always show the placeholder.
Can you resolve the problem?
Thank you
How does it work? What is the measurement unit for this?
Shouldn't it be in "dp" , so that it will work well on all Android devices?
Hi i am changing the size as follows: <com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_margin="20dp"
android:scaleType="fitXY"
android:src="@drawable/my_pic"
app:border="true"
app:border_width="10" />
but the it is not correctly changed.
I am getting this view after changing the width and height as above:
Can you explain why it is not working?
I couldn't find any error in the library for Android 2.3, so is it possible to release it not as 11+, but as 10+? Makes my life a bit better, by not having to maintain a custom library.
How to set the image to center. I have a parent relative layout and circular imageview is set to center horizontal = true , but it is going left and bottom in its height and width.
Adapter or main fragment , behavior is same... as
android.view.InflateException: Binary XML file line #79: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:640)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:813)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:511)
at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
at com.algorepublic.zoho.adapters.AdapterUser.getView(AdapterUser.java:57)
at android.widget.AbsListView.obtainView(AbsListView.java:2820)
I try use 'com.mikhaellopez:circularimageview:2.1.1'
But, something wrong, because in log:
Could not find method android.widget.ImageView., referenced from method com.mikhaellopez.circularimageview.CircularImageView.
Why could this be?
Tried using a png image with transparent part.
when using app:civ_border="false" the transparent part was converted to black color.
it regained the transparency on setting app:civ_border="true".
am getting the following error
Failed to find style 'circularImageViewStyle' in current theme
when i run the app i see the circularimageview, but on design i get the above error
I would love to use this lib with gradle, so can you please upload it to mavencentral?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.